Apache Ant JARタスク:プロパティが見つかりません
質問
antマニフェスト内のすべてのプロパティファイルの場所を正確に指定するにはどうすればよいですか
log4j、Springなどのプロパティが見つからないため、jarが機能していません。
これらのファイルはすべて、<!> quot; server-config <!> quotというフォルダーに含まれています。ソースコードと同じレベルにある、つまり:
- META-INF
- com
- server-config
本質的に、server-configフォルダー内のこれらすべてのプロパティファイルを認識するために、jarのClass-Pathプロパティに追加する必要があるものを知りたいです。
現在のタスクは次のとおりです。
<jar destfile="${root.home}/onejar/build/main/main.jar" basedir="${build.home}">
<manifest>
<attribute name="Class-Path" value=".;server-config" />
</manifest>
<include name="com/mycompany/client/*"/>
<include name="com/mycompany/portable/util/*"/>
<include name="com/mycompany/request/*"/>
<include name="com/mycompany/model/*"/>
<include name="com/mycompany/controller/*"/>
<include name="com/mycompany/helpers/*"/>
<include name="server-config/*"/>
</jar>
いくつか試してみましたが、どれも機能していません。ファイルが見つからないため、エラーが発生し続けています。
ご協力いただければ幸いです!
解決
<manifest...
部分全体を削除できます。これはClass-Pathマニフェスト属性の機能ではありません。 JARの外部のものです。
行<include name="server-config/*"/>
should は動作します-server-configディレクトリが$ {build.home}ディレクトリ内に存在する場合。おそらくそこにそれらをコピーするタスクが必要です-ソースコードが同じレベルにあることは言及しますが、コンパイル先の場所は言及しません。
例-
<mkdir dir="${build.dir}/server-config"
<copy todir="${build.dir}/server-config">
<fileset dir="${src.dir}/server-config">
<include name="*"/>
</fileset>
</copy>
所属していません StackOverflow