1

私の問題は次のとおりです。テストケースはローカルでは緑色ですが、サポートされていないjdkバージョンが原因でhudsonサーバーでは失敗するものがあります。ローカルは ibm jdk1.6 sr4 windows ですが、hudson サーバーには ibm jdk1.6 sr9 linux がインストールされています。「java.beans.Introspector の実装が検証に合格しなかったため、この Java 仮想マシンは Blaze Advisor での使用がサポートされていません。」

Hudsonサーバーは他のjdkに変更できないと言われたので、それらの障害を回避するための回避策はあると思いますか? 特定のjdkでプロジェクトをコンパイルするようmavenに指示できますか? 同様に、sr9 の代わりに sr4 を使用した 1.6 バージョン。また、サーバーにこのバージョンがないため、依存関係としてsr4をダウンロードするにはmavenが必要です。

私が調べた限り、これを行うのは難しいようです。それで、私が持つことができる他のオプションは何ですか?

提案をありがとう。

4

3 に答える 3

2

別のバージョンを使用する必要がある場合、Maven は JAVA_HOME で指定された Java から開始する必要があります。ツールチェーン プラグインを使用して、指定された jdk バージョンでビルドを実行します。ただし、バージョンがサーバーに既にインストールされている必要があります。

http://maven.apache.org/guides/mini/guide-using-toolchains.html

プラグインを pom に追加し、toolchains.xml ファイルを追加する必要があります。

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-toolchains-plugin</artifactId>
    <version>1.0</version>
    <executions>
      <execution>
        <phase>validate</phase>
        <goals>
          <goal>toolchain</goal>
            </goals>
      </execution>
    </executions>
    <configuration>
      <toolchains>
        <jdk>
          <version>1.5</version>
          <vendor>sun</vendor>
        </jdk>
      </toolchains>
    </configuration>
  </plugin>

jdk のインストール場所を指定する .m2 フォルダーに追加された toolchains.xml ファイル

<?xml version="1.0" encoding="UTF8"?>
<toolchains>
  <toolchain>
     <type>jdk</type>
     <provides>
         <version>1.5</version>
         <vendor>sun</vendor>
         <id>default</id>
     </provides>
     <configuration>
        <jdkHome>/path/to/jdk/1.5</jdkHome>
     </configuration>
  </toolchain>
于 2012-09-19T15:46:16.607 に答える
0

本気ですか?Hudson は JDK の切り替えをサポートする必要があります。私は Jenkins でそれを行いました。最悪の場合、Hudson ビルドで JAVA_HOME 環境変数を指定できます。Maven自体はJDKを起動する必要があるため、mavenで変更することはできません。

于 2012-09-19T15:03:00.800 に答える
0

これは、maven-compiler-plugin

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

プロファイル-Pを使用して、環境に基づいてバージョンを設定することもできます。

于 2012-09-19T15:36:51.557 に答える