我正在尝试通过maven编译项目(2 ..版本) 并获得一堆看起来像
的错误(use -source 7 or higher to enable try-with-resources)
/home/moonsearch/moonsearch/./site/src/com/myPrj/site/tags/MyTag.java:[32,37] error: multi-catch statement is not supported in -source 1.3
我在POM中写了一个1.7版本:
<plugin><artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration></plugin>
但仍然得到这个该死的消息。真的卡在里面。
添加版本(<version>2.0.8</version>
)之后,它在编译之前崩溃了 -
(我有mvn -v的版本号)
[WARNING] Skipping jpp repository file:///usr/share/maven2/repository in vanilla mode
Downloading: file:///usr/share/maven2/bootstrap_repo/org/apache/maven/plugins/maven-compiler-plugin/2.0.8/maven-compiler-plugin-2.0.8.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/2.0.8/maven-compiler-plugin-2.0.8.pom
Downloading: http://download.java.net/maven/2/org/apache/maven/plugins/maven-compiler-plugin/2.0.8/maven-compiler-plugin-2.0.8.pom
[WARNING] Skipping jpp repository file:///usr/share/maven2/repository in vanilla mode
Downloading: file:///usr/share/maven2/bootstrap_repo/org/apache/maven/plugins/maven-compiler-plugin/2.0.8/maven-compiler-plugin-2.0.8.pom
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/2.0.8/maven-compiler-plugin-2.0.8.pom
[INFO] Error building POM (may not be this project's POM).
Project ID: org.apache.maven.plugins:maven-compiler-plugin
Reason: POM 'org.apache.maven.plugins:maven-compiler-plugin' not found in repository: Unable to download the artifact from any repository
org.apache.maven.plugins:maven-compiler-plugin:pom:2.0.8
from the specified remote repositories:
java.net (http://download.java.net/maven/2),
__jpp_repo__ (file:///usr/share/maven2/repository),
bootstrap_repo (file:///usr/share/maven2/bootstrap_repo),
central (http://repo1.maven.org/maven2)
for project org.apache.maven.plugins:maven-compiler-plugin
这就是我的POM中定义的存储库
<repository>
<id>java.net</id>
<url>http://download.java.net/maven/2</url>
</repository>
答案 0 :(得分:0)
为Maven版本添加标记。例如:
<plugin><artifactId>maven-compiler-plugin</artifactId>
<version>2.x.x</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration></plugin>
看看是否能修复它。版本应该是您安装的任何Maven版本。
答案 1 :(得分:0)
这是我在maven 3.1.1中使用的
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
BTW没有2.0.8版本,所以我怀疑有版本问题 http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.apache.maven.plugins%22%20AND%20a%3A%22maven-compiler-plugin%22
答案 2 :(得分:0)
我猜Maven发现的java编译器不支持1.7。因此,您的1.7选项将被忽略,并使用1.3默认值。您需要修复JAVA_HOME / PATH环境变量,或使用Maven Toolchains插件配置正确的JDK。
此外,maven-compiler-plugin的版本和maven core的版本不一定需要相同。您的消息表明情况确实如此。
如果我是你,我会使用-X标志运行maven,当你没有&lt; version&gt;时,寻找(a)挑选的maven-compiler-plugin的版本。标签,(b)拾取哪个javac,以及(c)用于项目的实际源级别。