Maven 安装:“-source 1.3 中不支持注释”

发布于 2024-11-17 09:28:48 字数 531 浏览 2 评论 0原文

在我的项目上运行 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

九厘米的零° 2024-11-24 09:28:49

默认情况下,maven 尝试使用 Java 1.3 版本进行编译。我希望他们中的大多数人都会遇到这个错误,因为没有告诉maven“嘿Maven,不要使用1.3并使用“whatever_version_I_give”

这可以在pom.xml中提到下面:

           <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.5.1</version>
                <inherited>true</inherited>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>

在上面的示例中,我使用了 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 :

           <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.5.1</version>
                <inherited>true</inherited>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>

In my above example, I have used 1.7. Please replace with whatever version you wish to.

七禾 2024-11-24 09:28:49

将其添加到您的 pom 中

<build>
       <pluginManagement>
          <plugins>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                   <artifactId>maven-compiler-plugin</artifactId>
                   <version>3.0</version>
                      <configuration>
                          <!-- put your configurations here -->
                      </configuration>
               </plugin> 
          </plugins>
       </pluginManagement>
    </build>

Add this in your pom

<build>
       <pluginManagement>
          <plugins>
              <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                   <artifactId>maven-compiler-plugin</artifactId>
                   <version>3.0</version>
                      <configuration>
                          <!-- put your configurations here -->
                      </configuration>
               </plugin> 
          </plugins>
       </pluginManagement>
    </build>
晚风撩人 2024-11-24 09:28:48

您需要通过使用 maven-compiler-plugin 指定 Maven 项目的源版本。将以下内容添加到您的 pom 构建元素并设置适当的 java 源和目标级别。

<build>
     <defaultGoal>install</defaultGoal>
     <plugins>
          <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-compiler-plugin</artifactId>
               <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
               </configuration>
          </plugin>
      </plugins>
</build>

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.

<build>
     <defaultGoal>install</defaultGoal>
     <plugins>
          <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-compiler-plugin</artifactId>
               <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
               </configuration>
          </plugin>
      </plugins>
</build>

http://maven.apache.org/plugins/maven-compiler-plugin/

温柔一刀 2024-11-24 09:28:48

较短的版本:

<project>
    <properties>
        <maven.compiler.source>1.5</maven.compiler.source>
        <maven.compiler.target>1.5</maven.compiler.target>
    </properties>
....

A shorter version:

<project>
    <properties>
        <maven.compiler.source>1.5</maven.compiler.source>
        <maven.compiler.target>1.5</maven.compiler.target>
    </properties>
....
晨敛清荷 2024-11-24 09:28:48

如果未显式设置,您最有可能使用源级别为 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文