2016-05-26 1 views
0

私のプロジェクトでANT 1.6 /JAX-WS 2.0/Weblogic 11gを使用しています。ビルドマシンがJDK7になっている必要がありますが、デプロイメントマシン(weblogicを含む)はJDK6にあります。 warファイルを作成中にエラーが発生するようになりました。JDK7とJAVACサポートのwsimportによるエラーJDK6 - 互換性の問題

ステップ - build.xmlファイルにwarファイルを作成する前に:

1)デフォルトのJavaホームがJDK7あるとして、ビルドマシンがJDK7されるようになりましたので、私は-Xnocompileを設定していますどこ私は)(JDK7でwsimportのを呼び出していますので、ソースコードがありますデフォルトのJDK7でコンパイルされません。私はJDK6と互換性のビルドを作成する])時性[source ="6" target="6" fork="false"|"true"(フォーク一方の両方の組み合わせを指定しているのjavacの実行中

2)。しかし、wsimportによって生成されたコードを読んでいるうちにエラーが発生します。

問題は私が今まで理解したことです - JDK7からwsimportを実行し、プロパティをJDK6に設定してコンパイルします。そのため、javacの実行中にJDK7の生成されたJavaファイルはサポートされません。

私のbuild.xmlファイルにwsimportコマンドで生成されたFYI、ADMIN.javaファイルが似たようなエラーになります。

C:\MyProject\src\com\company\abc\xyz\delivery\ws\ADMIN.java:46: cannot find symbol 
    [javac] symbol : constructor Service(java.net.URL,javax.xml.namespace.QName,javax.xml.ws.WebServiceFeature[]) 
    [javac] location: class javax.xml.ws.Service 
    [javac]   super(__getWsdlLocation(), ADMIN_QNAME, features);<br> 
    [javac] 
+0

は、あなたはそれ以上のバージョンを使用して下位バージョンを使用して、実行中のコンパイル、それを行うことはできません。コンパイルとランタイムには同じバージョンを使用します。リバースは主に可能で、下位バージョンでコンパイルし、上位バージョンで実行します。 – Rao

+0

JAVA_HOME等jdk8/JDK7であると私はわずか1.6上でコードを実行したいが、コンパイル時には、私は、コードのみ1.6でコンパイル作るソース=「1.6」ターゲット=「1.6」のようにjavacのタグ内に値を入れています。 Java_homeは、インポートファイルがコンパイルできないJDK7です。コンパイル時にエラーを取得 - 今すぐJDK7を使用してwsimportのではなく、私は、ソースとターゲットから使用すべきJavaのバージョンを制御することができ、コンパイル(javacの)中に生成されたファイル。 – Aditya

+0

あなたがランタイムバージョンについて特に気にしているのであれば、同じものをコンパイルするのはなぜですか? – Rao

答えて

0

それはJDK6または実行中のJavaバージョンへの変化から、とにかく離れて私たちのビルドマシンとポイントのJAVA_HOMEオプションを上記の問題を解決することはできません。