2

javac のコードをいくつか変更したので、変更したバージョンの javac を Maven で使用したいと考えています。残念ながら、maven は独自の javac 実装を出荷しているようです。javacシステム全体の javac (シェルでの実行時に実行されるもの) を使用してソースをコンパイルするように Maven を取得するにはどうすればよいですか。

これらのオプションが何を意味するのかよくわからないまま、私はここで見つけた を提供しようとしforkましforceJavacCompilerUseた: http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html全て。

4

2 に答える 2

1

あなたは正しい球場にいます。ここを見て:

http://maven.apache.org/plugins/maven-compiler-plugin/examples/compile-using-different-jdk.html

実行可能ファイルのファイルシステム パスをハードコーディングしないようにするために、プロパティを使用できます。例えば:

<executable>${JAVA_1_4_HOME}/bin/javac</executable>

次に、各開発者は、このプロパティを settings.xml で定義するか、環境変数を設定して、ビルドの移植性を維持します。

<settings>   
    [...]   
  <profiles>
    [...]
    <profile>
      <id>compiler</id>
        <properties>
          <JAVA_1_4_HOME>C:\Program Files\Java\j2sdk1.4.2_09</JAVA_1_4_HOME>
        </properties>
    </profile>   
  </profiles>   
  [...] 
  <activeProfiles>
    <activeProfile>compiler</activeProfile>   
  </activeProfiles> 
</settings>

別の JDK でビルドする場合は、jar ファイルのマニフェストをカスタマイズすることをお勧めします。

キーは明示的に設定していると思います<executable>。そして、環境変数やその他の句をいじることなく、おそらくハードコーディングできるのではないかと思います。

このリンクも参照して、サンプルの「実行可能ファイル」を見てくださいpom.xml

Mavenコンパイラで使用されるJDKのバージョンはどこで指定されていますか?

于 2013-04-23T05:51:48.950 に答える
0

Maven は Java を見つけるために JVA_HOME を探すと思います。したがって、特定のJava Mavenに設定すると、それを使用できるはずです

于 2013-04-23T05:52:09.240 に答える