redhat-developer / redhat-developer/vscode-java

Maven cannot build the project

オープン
#1,996 コメント 6 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

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
  1. Cleanup maven repositories
  2. Add setting.xml from the description into your .m2
  3. Open jboss-eap-quickstarts project
  4. Open any java file
  5. See the error in pom.xml
  6. Try to build the project from terminal (cd kitchensink-jsp): mvn clean install -Dcom.redhat.xpaas.repo.jbossorg

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. 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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。