redhat-developer / redhat-developer/vscode-java
Maven cannot build the project
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2.3k
- Forks
- 546
- Avg merge
- 20h 1m
- Merged PRs (30d)
- 11
Description
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
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the reproduced error in pom.xml and compare Java LS behavior with the supplied settings.xml and java.jdt.ls.vmargs configuration. Run the listed Maven command in kitchensink-jsp, then inspect how the project is imported; done means Java LS resolves the parent POM and dependencies without requiring a prior terminal build.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, vscode
- Domain
- build-system, developer-experience
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100