0

私はAntが初めてです。以下は、私のアプリケーションのフォルダー構造です。

  • src : ソースコード
  • lib : ジャー
  • util : build.xml (ant ビルド ファイル)
  • output : ソースから生成された jar ファイルが含まれます。

ユーザーは、この jar ファイルを出力フォルダー内の任意の場所にコピーできる必要があり、抽出すると、次のようになります。

  • lib フォルダ: 必要なすべてのライブラリが含まれています
  • build.xml : 実行する ant ビルド ファイル

ユーザーは、この build.xml を「ant -f build.xml run」として実行できるはずです。

問題は、コード構造では、build.xml が出力フォルダーの下にあるため、build.xml を記述すると、lib フォルダーのパスが ../lib/ に設定されますが、抽出したフォルダーから build.xml を実行すると、の場合、build.xml はルート レベルにあり、lib の相対パスが「./lib/」になるため、../lib は機能しません。

助けてください!

ありがとう

4

2 に答える 2

1

build.xmlをutilフォルダーの外に配置してみてください。または、build.propertiesファイルの出力リストoutput.library.jar = bin /、\util/にutil/を追加してください。

于 2012-11-01T18:11:05.217 に答える
0

プロパティー・ファイルからロードされた lib dir を動的にします。プロパティ ファイルlocal.props(ルートの jar にパッケージ化されます) には、次のものが含まれます。

lib.dir=lib

ディレクトリにあるlocal.props場合、ビルドプロセス用の別のファイルもあります。このファイルには次のものが含まれます。build.xmlutil

lib.dir=../lib

ビルド ファイルの最初の命令の 1 つは、次のようにする必要があります。

<property file="local.props" />

lib ディレクトリを参照するときは、常に${lib.dir}. これにより、 lib ディレクトリが柔軟になるだけでなく、副作用としてユーザー側で構成可能になります。local.propsファイルは、スクリプト ユーザーに構成可能性を提供するために一般的に使用されます。

于 2012-11-01T19:43:08.657 に答える