源代码 1.3 不支持 Netbeans Maven 注释,请使用源代码 5

问题描述 投票:0回答:1

使用 Netbeans 6.7 中的 Maven 构建项目时,我收到以下错误消息:

Error   annotations are not supported in -source 1.3   (use -source 5 or higher to enable annotations)

我已经在 this thread 上看到我需要将 maven-compiler-plugin 配置添加到我的 POM.xml,但我不想对每个项目都这样做。我可以将其设置在一个会影响我所有 Maven 项目的中心位置吗?在settings.xml中以某种方式?

我已经将 Netbeans 配置为使用 Maven 3.0.3,并且我的 JAVA_HOME 指向 JDK 1.5。

maven netbeans maven-plugin
1个回答
0
投票

即使使用 Netbeans 在每个项目中配置它非常简单:

  • 右键单击您的项目,
  • 选择“属性”,
  • 在项目属性窗口中选择“源”,
  • 选择“源/二进制/格式”为 1.3
  • 单击“确定”将正确更新您的 pom。

更好的方法是使用(poms 中的继承)。

在父 pom.xml 中配置插件:

        <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.mycompany</groupId>
      <artifactId>parent-pom</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>pom</packaging>
      <name>parent-pom</name>
      <build>
          <plugins>
              <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.3.2</version>
                    <configuration>
                        <source>1.3</source>
                        <target>1.3</target>
                    </configuration>
                </plugin>
          </plugins>
      </build>
    </project>

之后,您的模块可以通过这种方式继承此行为:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>com.mycompany</groupId>
    <artifactId>parent-pom</artifactId>
    <version>1.0-SNAPSHOT</version>
</parent>
<artifactId>mavenproject1</artifactId>
<packaging>jar</packaging>
<name>mavenproject1</name>

© www.soinside.com 2019 - 2024. All rights reserved.