Eclipse下Maven的项目构建错误:必须指定绝对路径

时间:2018-05-29 20:24:07

标签: java eclipse maven

我使用以下maven命令创建了一个新项目:

mvn archetype:generate -DarchetypeCatalog=local -DarchetypeGroupId=com.github.xlongshu.maven -DarchetypeArtifactId=archetype-quickstart

然后我输入了以下值:

'groupId': com.example.mycompany
'artifactId': myproject
'version' 1.0-SNAPSHOT: : 
'package' com.example.mycompany: : 

我收到了以下警告:

[WARNING] CP Don't override file /Users/user/workspace/myproject/pom.xml
[WARNING] CP Don't override file /Users/user/workspace/myproject/README.md

然后我使用Import...>将这个新项目导入Eclipse Oxygen 4.7.3a(暂时不可用)。 Existing Maven Projects

然后我得到以下错误(在pom.xml文件中的Eclipse下):

Project build error: 'dependencyManagement.dependencies.dependency.systemPath' for jdk.lib:jconsole:jar must specify an absolute path but is ${env.JAVA_HOME}/lib/jconsole.jar  pom.xml /myproject  line 1  Maven pom Loading Problem
Project build error: 'dependencyManagement.dependencies.dependency.systemPath' for jdk.lib:tools:jar must specify an absolute path but is ${env.JAVA_HOME}/lib/tools.jar    pom.xml /myproject  line 1  Maven pom Loading Problem

但是,从命令行开始,一切运行良好:

mvn validate
mvn compile

错误似乎来自父POM:

                <dependency>
                    <groupId>jdk.lib</groupId>
                    <artifactId>jconsole</artifactId>
                    <version>${jdk.version}</version>
                    <scope>system</scope>
                    <systemPath>${jconsolejar}</systemPath>
                </dependency>

其中jconsolejar属性定义如下:

<jconsolejar>${env.JAVA_HOME}/lib/jconsole.jar</jconsolejar>

如何以干净有效的方式解决此错误?

(Maven版本:3.5.3)

1 个答案:

答案 0 :(得分:0)

当我使用变量为本地 jar 指定系统路径时,我遇到了同样的问题。

我使用的解决方案是将目录替换为绝对路径,例如 C:\Users\XXXX\eclipse-workspace\PROJECTNAME\src\main\webapp\WEB-INF\lib

错误消失了,但因为不推荐这样做而留下警告