redhat-developer / redhat-developer/vscode-java
Maven cannot build the project
オープン
まだ誰も着手していません。
compile
Maven
upstream
- 主要言語
- TypeScript
- スター
- 2.3k
- フォーク
- 546
- 平均マージ
- 20時間 1分
- マージ済み PR(30日)
- 11
説明
Java LS cannot build the project. In pom.xml I see an error:
Project build error: Non-resolvable parent POM for org.jboss.eap.quickstarts:kitchensink-jsp:7.4.0.Beta: Could not transfer artifact org.jboss.eap.quickstarts:quickstart-parent:pom:7.4.0.Beta from/to local-galleon-repository (file:///opt/jboss/container/wildfly/s2i/galleon/galleon-m2-repository): Repository path /opt/jboss/container/wildfly/s2i/galleon/galleon-m2-repository does not exist, and cannot be created. and 'parent.relativePath' points at wrong local POM
but it could be built from the terminal via mvn clean install -Dcom.redhat.xpaas.repo.jbossorg. After building from the terminal Java LS pick ups all dependencies and works good.
The project is located here: https://github.com/svor/jboss-eap-quickstarts
My VS Code settings.json:
{
"java.jdt.ls.vmargs": "-Dcom.redhat.xpaas.repo.jbossorg",
"java.configuration.maven.userSettings": "/home/vsvydenko/.m2/settings.xml",
"java.configuration.maven.globalSettings": "/home/vsvydenko/.m2/settings.xml"
}
My settings.xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- ### configured local repository ### -->
<servers>
<!-- ### configured servers ### -->
</servers>
<mirrors>
<!-- ### configured mirrors ### -->
</mirrors>
<proxies>
<!-- ### configured http proxy ### -->
</proxies>
<profiles>
<!-- JBoss EAP Maven repository -->
<profile>
<id>jboss-eap-repository</id>
<activation>
<property>
<name>com.redhat.xpaas.repo.redhatga</name>
<value/>
</property>
</activation>
<repositories>
<repository>
<id>redhat-ga-repository</id>
<url>https://maven.repository.redhat.com/ga/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>redhat-ea-repository</id>
<url>https://maven.repository.redhat.com/earlyaccess/all/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>jboss-eap-repository</id>
<url>https://maven.repository.redhat.com/techpreview/all</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>redhat-ga-plugin-repository</id>
<url>https://maven.repository.redhat.com/ga/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>redhat-ea-plugin-repository</id>
<url>https://maven.repository.redhat.com/earlyaccess/all/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>jboss-eap-plugin-repository</id>
<url>https://maven.repository.redhat.com/techpreview/all</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<!-- JBoss EAP Maven repository (HTTP version, disabled by default) -->
<profile>
<id>jboss-eap-repository-insecure</id>
<repositories>
<repository>
<id>redhat-ga-repository</id>
<url>http://maven.repository.redhat.com/ga/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>redhat-ea-repository</id>
<url>http://maven.repository.redhat.com/earlyaccess/all/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>jboss-eap-repository</id>
<url>http://maven.repository.redhat.com/techpreview/all</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>redhat-ga-plugin-repository</id>
<url>http://maven.repository.redhat.com/ga/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>redhat-ea-plugin-repository</id>
<url>http://maven.repository.redhat.com/earlyaccess/all/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>jboss-eap-plugin-repository</id>
<url>http://maven.repository.redhat.com/techpreview/all</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<!-- JBoss Community Maven repository -->
<profile>
<id>jboss-community-repository</id>
<activation>
<property>
<name>com.redhat.xpaas.repo.jbossorg</name>
<value/>
</property>
</activation>
<repositories>
<repository>
<id>jboss-community-repository</id>
<url>https://repository.jboss.org/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>jboss-community-plugin-repository</id>
<url>https://repository.jboss.org/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<!-- JBoss Community Maven repository (HTTP version, disabled by default) -->
<profile>
<id>jboss-community-repository-insecure</id>
<repositories>
<repository>
<id>jboss-community-repository</id>
<url>http://repository.jboss.org/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>jboss-community-plugin-repository</id>
<url>http://repository.jboss.org/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<!-- Override the repository "central" from the Maven Super POM, to set HTTPS by default -->
<profile>
<id>securecentral</id>
<repositories>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
</profile>
<!-- central repositories via HTTP. Disabled by default. -->
<profile>
<id>insecurecentral</id>
<repositories>
<repository>
<id>central</id>
<url>http://repo1.maven.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://repo1.maven.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
</profile>
<profile>
<id>local-galleon-repository</id>
<activation><activeByDefault>true</activeByDefault></activation>
<repositories>
<repository>
<id>local-galleon-repository</id>
<url>file:///opt/jboss/container/wildfly/s2i/galleon/galleon-m2-repository</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>local-galleon-plugin-repository</id>
<url>file:///opt/jboss/container/wildfly/s2i/galleon/galleon-m2-repository</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
<!-- ### configured profiles ### -->
</profiles>
<activeProfiles>
<activeProfile>securecentral</activeProfile>
<!-- ### active profiles ### -->
</activeProfiles>
</settings>
Environment
- Operating System: Linux
- JDK version: openjdk 11.0.8 2020-07-14
- Visual Studio Code version: 1.57.1
- Java extension version: 0.79.2
Steps To Reproduce
- Cleanup maven repositories
- Add setting.xml from the description into your .m2
- Open jboss-eap-quickstarts project
- Open any java file
- See the error in pom.xml
- Try to build the project from terminal (cd kitchensink-jsp):
mvn clean install -Dcom.redhat.xpaas.repo.jbossorg
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
pom.xml で再現されたエラーから始め、Java LS の動作を、提供されている settings.xml と java.jdt.ls.vmargs の設定と比較します。kitchensink-jsp で記載されている Maven コマンドを実行し、その後、プロジェクトがどのようにインポートされるかを確認します。Java LS が、事前にターミナルでビルドを実行しなくても親 POM と依存関係を解決できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java, vscode
- 領域
- build-system, developer-experience
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100