我已经将Maven与Java的早期版本一起使用,但是现在我试图使其与Java 10一起使用。我构建了一个简单的Hello world项目,具体是:
package main;
公共课程测试{
public static void main(String[] args) {
System.out.println("Hello World");
}
} 带有模块信息类:
模块maven.test { 出口主营; }
与此项目关联的pom是:
http://maven.apache.org/xsd/maven-4.0.0.xsd“> 4.0.0 Maven测试 Maven测试 0.0.1-快照 Maven测试 src Maven编译器插件 3.7.0 10
构建项目时,它会成功构建。然后,我从Maven中央存储库添加了一个依赖项: org.jsoup so 1.7.3
这也成功构建。然后,我添加一个本地安装的jar。
<dependency>
<groupId>com.artificialmed</groupId>
<artifactId>DBconnectValueObjects</artifactId>
<version>1.0</version>
</dependency>
执行此操作时,出现以下错误消息,生成失败:
[错误]无法在项目MavenTest上执行目标org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile(默认编译):目标org.apache.maven的执行默认编译。插件:maven-compiler-plugin:3.7.0:编译失败。 IllegalArgumentException-> [帮助1] [错误]
我没有找到任何可以帮助我解决此错误的信息。当我使用完整的调试日志记录重建项目时,没有看到有用的信息。我知道本地jar已正确安装在我的存储库中,因为当我将该jar包含在用Java 7编译的项目中时,该项目将成功构建。因此,我怀疑这是与Java 10和本地安装的jar有关的问题。
有人知道如何解决这个问题吗?
埃利奥特
答案 0 :(得分:1)
我认为这可能与this question有关。
基本上,我不认为您的问题与本地jar有关-如果您已使用maven安装插件将其安装在本地maven存储库($ USER_HOME / .m2)中,则它具有pom.xml和Maven不应与任何其他Maven依赖项区分开。
我唯一看到的“错误”是maven编译器插件的版本-当前版本是3.8.0,到目前为止,我正在将其与Java 11一起使用,没有任何问题。 另外,请注意,设置源Java版本和目标Java版本的机制已更改,如以下代码段所示:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>10</release>
</configuration>
</plugin>
</plugins>
</build>