2009-06-02 9 views
5

antでクラスパスの順序を設定するにはどうすればよいですか?AntクラスパスOrder

具体的には、私がantビルドを実行しようとしているとき、私はそれがjreにある同じクラスではなく、jar(jaxws-api.jar)のクラスをピックアップする必要があります。私は現在、クラスパスに明示的にそれらのjarsを含めるように設定していますが、最初にjreを最初に選択するようです。私が探しているのは、 "Build Configuration"メニューのEclipseでOrder/Exportに相当するものです。

編集:私はもっと明示します。私はCXF 2.1.3で生成されたいくつかのクラスを持っています。彼らはjavax.xml.ws.Service#getPort(QName、Class、WebServiceFeature ...)を呼び出します。 Javaバージョン1.6.02を使用しています。このメソッドは、そのバージョンのそのクラスには存在しません。ただし、クラスのjaxwsバージョン(およびそれ以降のバージョンのJREクラス)には存在します。私がantビルドをやろうとすると、Jaxクラスは常にjaxwsバージョンの前に最初に選択されます。これは私のコンパイルに失敗します。 JREを最後に置くためにクラスパスを変更するにはどうすればよいですか?

私はJREのバージョンを変更できません。唯一のものでない限り、修正として提案しないでください。

答えて

7

JavacまたはJavaのAntタスクでbootclasspath設定を使用する必要があるようです。

いつでもant -vを実行して、Antビルドの詳細な出力を得ることができます。

2

antクラスパス内のJarsは、宣言した順序で配置されます。

1

Google Web Toolkitとサーブレット3.0 APIファイルで同じ問題がありました。サーブレットAPI jarがGWTライブラリjarの前にあることを確認する必要がありました。

<path id="classpath"> 
     <filelist> 
      <file name="${build.input}/__lib__/servlet-api.jar"/> 
     </filelist> 
     <fileset dir="${build.input}/__lib__"> 
      <include name="*.jar" /> 
     </fileset> 
     <fileset dir="${build.input}/WEB-INF/lib"> 
      <include name="*.jar" /> 
     </fileset> 
    </path> 

注、私は他のディレクトリからjarファイルを追加することができ、ファイルリストで最初にリストされた最初であることが必要瓶:ここで働いていたものです。私は受け入れられた答えでbootclasspathを試しましたが、うまくいきませんでした。

関連する問題