redhat-developer / redhat-developer/vscode-java

Maven cannot build the project

未关闭
#1,996 6 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

compile Maven upstream
主要语言
TypeScript
星标
2.3k
派生
546
平均合并
20 小时 1 分钟
30 天内合并 PR
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. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 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 摘要。