Добавление ресурсов без кода в файл jar с помощью Ant
Я в процессе упаковки моего приложения Java в файл jar. Я использую ant и eclipse. Мне нужно включить в банку пару отдельных файлов без кода (файлы xml и txt) непосредственно под корневой папкой, а не в том же месте, что и код.
Я пытаюсь использовать includefile, но это не работает, вот моя цель ant:
<target name="distribute" depends="compile" includesfile="readthis.txt">
<jar destfile="${distributionDir}/myjar.jar" >
<fileset dir="${outputDir}"/>
<fileset dir="${sourceDir}"/>
</jar>
</target>
Вышеописанное работает отлично, когда я опускаю аргумент includefile. Кроме того, мне нужно добавить несколько файлов без кода. Эти файлы находятся непосредственно в папке корневого проекта в Eclipse, а не в каких-либо java-пакетах.
Кроме того, как вы можете видеть выше, я в основном включаю в jar свой исходный код. Есть ли способ сообщить задачам jar поместить исходный код в отдельную папку из скомпилированного кода?
Как задача компиляции или сборки, ant легко может отделить исходный код от скомпилированных классов. Но есть ли способ сделать это и в файле jar?
Большое спасибо за ваше время!
Ответы
Ответ 1
У вас не должно быть атрибута includesfile
в начале цели, и я подозреваю, что вы все равно не поняли его суть - идея состоит в том, что файл, указанный вами с помощью includesfile
, содержит шаблоны, для которых файлы чтобы включить, если вы не хотите помещать их в свой Ant файл.
Мне кажется, что все, что вам нужно, это дополнительный набор файлов, содержащий нужные вам файлы. Например, для readthis.txt
:
<target name="distribute" depends="compile">
<jar destfile="${distributionDir}/myjar.jar" >
<fileset dir="${outputDir}"/>
<fileset dir="${sourceDir}"/>
<fileset file="readthis.txt" />
</jar>
</target>
Я также предлагаю создать новый каталог для ресурсов, чтобы вы могли:
<target name="distribute" depends="compile">
<jar destfile="${distributionDir}/myjar.jar" >
<fileset dir="${outputDir}"/>
<fileset dir="${sourceDir}"/>
<fileset dir="${resourcesDir}" />
</jar>
</target>
без хлопот. Это также упростит вашу структуру каталогов, что упростит поиск вещей сверху вниз.