テスト環境のメンテをしている時、「ついでにお願い〜」とデプロイを頼まれたシステムで、以下のような警告が発生していました。
Warning: 'includeantruntime was not set, defaulting to build. sysclasspath=last; set to false for repeatable builds
デプロイを依頼した担当者は「前から出てるから無視していいよ」と言っていたのですが、なんか気になったので調べました。includeantruntimeの意味
クラスパスにAntのランタイムライブラリを追加するかどうかの設定。
プロジェクトとは無関係の不要なライブラリも含まれてしまうので、False推奨。(デフォルトではTrue)
また、プロジェクトのクラスパスに本来設定すべきランタイムが抜けていたとしても 「includeantruntime="true"」の場合はAntのライブラリで補完してしまうため、ビルドエラーにならない。 (環境を移すとビルドできないといった現象が発生する)
ワーニングの修正方法
javacタスクのオプションに以下を追加すればOK。
includeantruntime="false"
【例】 <javac includeantruntime="false" 〜>
【例】 <javac includeantruntime="false" 〜>
まとめ
これは無視してはいけない警告なのではないだろうか。
特別な理由がなければ、javacタスクに「includeantruntime="false"」は入れた方が良さそうです。
以上
0 件のコメント :
コメントを投稿