2

アプリケーションのビルドに使用する必要がある、自動生成された Ant ビルド スクリプトがいくつかあります。Ant 1.8.1 と Java 1.6 を使用しています。スクリプトは Apt Ant タスクを使用します。これは、タスク リファレンスによると、コンパイラで注釈を処理できるため、Java 1.6 ではほとんど廃止されています。ただし、Apt ターゲットはアプリケーションが必要とする追加のクラスを生成し、javac を使用してこれを複製する方法を見つけることができませんでした。

問題は、スクリプトが実行されると、1.6 JDK がインストールされているにもかかわらず、Apt タスクが 1.5+ の JDK が必要であると不平を言って失敗することです。<apt>タグをタグに置き換えて、できるだけ<javac>多くの属性をコピーしようとしましたが、タスクによって生成されたはずのクラスを探すときにビルドが失敗し<apt>ます。
また、1.5 JDK をインストールして、それに対して Ant スクリプトを実行しようとしました。Apt タスクは問題なく動作しますが、javac タスクは、1.6 でコンパイルされているが 1.5 に対して実行されているため、不適切なクラス ファイルについて不平を言います。そのため、ソースを 1.5 で完全に再ビルドしましたが、それでもコンパイラはクラス ファイルが正しくないというエラーを出します。

私は機知に富んでいて、AptタスクをJava 1.6でうまく機能させる方法があるかどうか、または実際にAptと同じ作業を別のタスクで実行する他の方法があるかどうか疑問に思っています。

4

1 に答える 1

0

解決策を見つけました - そしてそれは私が思っていたよりも簡単でした.

スクリプトを修正するには、古いバージョンの Ant に切り替える必要がありました。Weblogic には Ant 1.6.5 が付属しており、ANT_HOME を Apache 1.8.1 ではなくこのバージョンに指定した後、スクリプトは問題なく実行されました。

于 2011-01-05T18:28:19.513 に答える