Ant 1.7.1 を使用して、Eclipse でアプリケーションをビルドしています。私のアプリケーションは WAS 6.1 にデプロイされる予定です。コードで sun.security.* パッケージ クラスとサブパッケージを使用しているため (このパッケージの使用は推奨されていませんが、他のオプションはありません)。
ear を WAS に配置したとき、sun.security.x509.AlgorithmId クラスの ClassDefNotFoundError を受け取りました。このクラスが IBM Jre の目的のパッケージに存在しないことがわかりました (これが、sun.packages の使用が推奨されない理由の一種です)。
開発クラスパスに IBM jar を配置する必要があり、Eclipse で IBM jar を JRE jar の前に配置して、ローカル JRE jar の代わりにこれらの jar を使用するようにしました (注文とエクスポート)。これはうまくいっています。
さて、私の質問は、ANTでjarの同じ順序をどのように行うかです。ANT クラスパスで jar の順序を指定する方法を知っています。しかし、IBM jar を ANT の JRE jar の前に配置するにはどうすればよいでしょうか?
ブート クラスパスに IBM jar を設定してみました。しかし、そうすると、Java クラスパスがブート クラスパスの外にあるため、ANT は java.lang を見つけることができません。
<javac source="1.5"
target="1.5"
bootclasspathref="project.class.path"
destdir = "${build.classes.dir}"
srcdir = "${work.dir}/src"
debug="true"
encoding="UTF-8"
>
<classpath path="${java.library.path}"/>
</javac>
これを行う方法をアドバイスしてください。
どんな助けでも大歓迎です。ありがとう