Maven的编译错误(Maven Compile Error)

2019-07-03 16:19发布

当我建立和Netbeans的运行我的程序,它的工作原理没有问题。 但随着同pom.xml文件,当我尝试“MVN编译”我得到这个错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project hadoop-test: Compilation failure
[ERROR] /home/metin/NetBeansProjects/hadoop-test/src/main/java/com/citusdata/hadoop/HadoopTest.java:[53,8] error: generics are not supported in -source 1.3

我的Java版本不是1.3,这里的“MVN -version”的结果

Apache Maven 3.0.4
Maven home: /usr/share/maven
Java version: 1.7.0_03, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.2.0-27-generic", arch: "amd64", family: "unix"

这是行53:

Token<BlockTokenIdentifier> token = locatedBlock.getBlockToken();

Answer 1:

问题是, maven-compiler-plugin中的Maven2默认使用-source 1.3target 1.3

您可以通过添加以下内容到POM解决它:

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <configuration>
        <compilerVersion>1.5</compilerVersion>
        <source>1.5</source>
        <target>1.5</target>
      </configuration>
    </plugin>

它的实用性将此放入pluginManagement节在最顶层父POM让你的派生劲歌不需要关心这个。



Answer 2:

你必须在你的pom.xml添加一些信息。 类似的东西:

   <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
             <source>1.6</source>
             <target>1.6</target>
        </configuration>
  </plugin>


Answer 3:

在你的日志中,我看到这一行:

generics are not supported in -source 1.3

检查源和目标行家编译插件的配置,并且将其更新至1.5。



Answer 4:

看来你的Maven编译器插件的版本是1.3。

看看这个链接来强制编译器与JDK 1.7,运行http://maven.apache.org/plugins/maven-compiler-plugin/examples/compile-using-different-jdk.html



Answer 5:

看来你的Maven的Java主点到JRE的jdk不

Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre

你必须将其更改为一个JDK。

尝试java -version ,看看还有什么

使用/usr/sbin/alternatives --config java改变你的Java版本。



Answer 6:

这里有一个稍微不同的方式来解决在Eclipse靛蓝同样的错误。

  • 在Eclipse中打开你的(Maven的)项目。
  • 在pom.xml中单击鼠标右键
  • 选择... ...的Maven插件添加
  • 输入:

      - groupId: org.apache.maven.plugins - artifactId: maven-compiler-plugin - version: 2.3.2 

这将插入在你的pom.xml一个新的部分,并打开一个窗口进行编辑。

然后可以添加源和如上所述来选择正确的JRE目标XML元素。

该部分看起来像这样在我的项目:

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

注意“构建”和“插件”不存在于一些其他职位的额外标签。

一旦你保存文件,Eclipse会通知你,你的POM是与你的项目同步。

然后,您可以右键单击该项目...选择Maven..update项目

我的一个重要观点是,Maven将自动重新设置在Eclipse中构建路径。 您可以通过项目验证......建立path..configure构建路径...图书馆。

因此,在本质上,这意味着你不应该乱用,如果你使用的是Maven项目在Eclipse中直接配置构建路径。

HTH



Answer 7:

请从日食执行Maven的运行,然后再从命令提示符MVN测试。 在我的情况下解决这个步骤中的所有问题。



文章来源: Maven Compile Error