Maven 安装:“-source 1.3 中不支持注释”
在我的项目上运行 mvn install
时,我发现它由于以下错误而失败:
C:\Repositories\blah\src\test\java\com\xxx\qm\testrunner\test\ATest.java:[11,5] annotations are not supported in -source 1.3
(use -source 5 or higher to enable annotations)
@Test
C:\Repositories\blah\src\test\java\com\xxx\qm\common\test\BTest.java:[11,5] annotations are not supported in -source 1.3
(use -source 5 or higher to enable annotations)
@Test
我的 Maven 依赖项包括 jUnit 4.8
,但是没有引用 1.3 任何内容。
什么会导致这些错误?请指教
When running mvn install
on my project, i see it fail due to the following errors:
C:\Repositories\blah\src\test\java\com\xxx\qm\testrunner\test\ATest.java:[11,5] annotations are not supported in -source 1.3
(use -source 5 or higher to enable annotations)
@Test
C:\Repositories\blah\src\test\java\com\xxx\qm\common\test\BTest.java:[11,5] annotations are not supported in -source 1.3
(use -source 5 or higher to enable annotations)
@Test
My Maven dependency includes jUnit 4.8
, however and has no reference to 1.3 anything.
What would cause these errors? Please advise
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
默认情况下,maven 尝试使用 Java 1.3 版本进行编译。我希望他们中的大多数人都会遇到这个错误,因为没有告诉maven“嘿Maven,不要使用1.3并使用“whatever_version_I_give”
这可以在pom.xml中提到下面:
在上面的示例中,我使用了 1.7。请替换为您想要的任何版本。
Bu default, the maven tries to compile using Java 1.3 version. I hope most of them hit this error because of missing to tell maven that "Hey Maven, Dont use 1.3 and use "whatever_version_I_give"
This can be mentioned in pom.xml as below :
In my above example, I have used 1.7. Please replace with whatever version you wish to.
将其添加到您的 pom 中
Add this in your pom
您需要通过使用 maven-compiler-plugin 指定 Maven 项目的源版本。将以下内容添加到您的 pom 构建元素并设置适当的 java 源和目标级别。
http://maven.apache.org/plugins/maven-compiler-plugin/
You need to specify the source version of your maven project through the use of the maven-compiler-plugin. Add the following to your pom build element and set the appropriate java source and target levels.
http://maven.apache.org/plugins/maven-compiler-plugin/
较短的版本:
A shorter version:
如果未显式设置,您最有可能使用源级别为 1.3 的 OpenJDK,而不是源级别为 1.5 的 Oracle JDK。
由于大多数现代 Java 项目都针对比 Java 5 更新的代码,因此您很可能需要设置此值。
另请注意,如果您需要低于源的目标(例如,使用 Java 6 进行编译但部署到 Java 5),您可以使用 Eclipse 编译器而不是 Javac 来完成此操作。
You are most likely using OpenJDK where the source level is 1.3 when not explicitly set - as opposed to Oracle JDK where the source level is 1.5.
Since most modern Java projects target newer code than Java 5 you most likely need to set this anyway.
Also note that if you need a lower target than source (e.g. for compiling with Java 6 but deploying to Java 5) you can do this by using the Eclipse compiler instead of Javac.