12

Netbeansでプログラムをビルドして実行すると、問題なく動作します。しかし、同じpom.xmlファイルで「mvncompile」を実行しようとすると、次のエラーが発生します。

[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();
4

9 に答える 9

22

問題は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がこれを気にする必要がないように、これを最上位の親pomのセクションに配置するのが実用的です。

于 2012-11-08T16:22:45.690 に答える
5

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>
于 2012-11-08T16:21:27.300 に答える
1

あなたのログには、次の行があります。

generics are not supported in -source 1.3

maven-compilerプラグインのソースとターゲットの構成を確認し、1.5に更新します。

于 2012-11-08T16:23:30.653 に答える
0

あなたのMavenJavaホームはjdkではなくjreを指しているようです

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

jdkに変更する必要があります。

java -version何があるか試してみてください

/usr/sbin/alternatives --config java Javaのバージョンを変更するために使用します。

于 2012-11-08T16:24:28.577 に答える
0

Mavenコンパイラプラグインのバージョンは1.3のようです。

このリンクを見て、コンパイラをJDK 1.7で強制的に実行します。http ://maven.apache.org/plugins/maven-compiler-plugin/examples/compile-using-different-jdk.html

于 2012-11-08T16:22:02.603 に答える
0

これは、EclipseIndigoで同じエラーを修正するためのわずかに異なる方法です。

  • Eclipseで(Maven)プロジェクトを開きます。
  • pom.xmlを右クリックします
  • ...Maven...プラグインの追加を選択します
  • 入る:

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

これにより、pom.xmlに新しいセクションが挿入され、編集用のウィンドウが開きます。

次に、上記のようにソースとターゲットのxml要素を追加して、正しいJREを選択できます。

私のプロジェクトでは、セクションは次のようになります。

<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のビルドパスを自動的にリセットすることでした。Project ... build path..configure build path...Librariesで確認できます。

つまり、本質的には、Mavenプロジェクトを使用している場合は、Eclipseでビルドパスを直接構成する必要がないことを意味します。

HTH

于 2013-05-17T20:12:59.243 に答える
0

EclipseからMavenRunを実行してから、コマンドプロンプトからmvntestを実行してください。私の場合、この手順ですべての問題が解決しました。

于 2019-01-05T10:05:33.703 に答える
0

これをPom.xmlに追加します

<properties>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.source>1.8</maven.compiler.source>
</properties>
于 2020-06-11T17:10:33.797 に答える
-1

Java8とSpringBootを使用してアプリケーションを実行している場合は、pom.xmlファイルに以下の行を追加することでこの問題を修正できます。

    <build>
            <plugins>
                    <plugin>
                            <groupId>org.springframework.boot</groupId>
                            <artifactId>spring-boot-maven-plugin</artifactId>
                    </plugin>
                    <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-compiler-plugin</artifactId>
                            <version>2.3.2</version>
                            <configuration>
                                 <source>1.8</source>
                                 <target>1.8</target>
                            </configuration>
                    </plugin>
            </plugins>
    </build>
于 2021-09-20T04:19:37.567 に答える