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