Задача Apache Ant JAR для муравьев:не удается найти свойства
Вопрос
Как именно я должен указать расположение всех файлов свойств внутри манифеста ant?
Мой jar не работает, потому что он не может найти свойства log4j, Spring и т.д.
Все эти файлы содержатся в папке под названием "server-config", которая находится на том же уровне, что и исходный код, т.е.:
- МЕТА-ИНФ
- ком
- сервер-конфигурация
По сути, я хочу знать, что мне нужно добавить в свойство Class-Path, чтобы jar знал обо всех этих файлах свойств внутри папки server-config.
Вот моя текущая задача:
<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. Это для вещей, находящихся вне БАНКИ.
Линия <include name="server-config/*"/>
следует работает - если каталог 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>