1

App.javaという1つのファイルを含む単純なMavenプロジェクトがあります。

package com.foo;

public class App 
{
    private Long wrapper;

    public long getlong() {
        if (null != wrapper) {
            return wrapper;
        } else {
            return 0;
        }
    }
}

(Maven を使用して 5 分でプロジェクトを作成し、App.java を上記のものに置き換えることで、これを複製できます)。

mvn compile生産する

.../foo/App.java:[9,12] incompatible types
found   : java.lang.Long
required: long

ディレクトリに移動して実行javac App.javaしてもエラーは発生しません。何が起きているか知っている人はいますか?(Maven は、私のボックスにインストールされている Java のバージョンを使用すると仮定します。いずれにせよ、それは 1.6.0_21 です。ありがとう。

4

1 に答える 1

3

おそらくバージョン 1.4 でコンパイルされていsourceます。targetより高いバージョン用にコンパイルするには、コンパイラ プラグインを構成する必要があります。「選択したターゲットおよびソース JVM でコンパイルされるように Maven をセットアップするにはどうすればよいですか?」を参照してください。および「 Java コンパイラのandの設定-source-target」 :

  ...
  <build>
  ...
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.0</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
  ...
  </build>
  ...
于 2013-03-08T21:15:54.153 に答える