Как сделать файл JAR из подмножества классов проекта? - PullRequest
2 голосов
/ 01 марта 2012

У меня есть проект Java, в котором есть практически все классы и пакеты, в зависимости от всего остального. Я пытаюсь распутать это. Моя текущая идея - извлечь базовые классы, которые не должны зависеть ни от чего другого, и упаковать их в отдельный JAR-файл, который будет использовать остальная часть приложения. Я использую Ant и Netbeans. Я полный новичок муравья, думал, что начал читать книгу.

Я попытался создать файл сборки Ant, который скомпилирует и упакует основные классы в JAR. Тем не менее, независимо от того, что я делаю, JAR содержит все классы приложений. Я не уверен, что это потому, что некоторые из моих базовых классов зависят от других классов, которые автоматически добавляются в JAR, или потому, что я не могу правильно понять директивы Ant. Вот мой текущий файл сборки:

<?xml version="1.0" encoding="UTF-8"?>
<project name="Core" default="jar">
<description>Compiles and packages Core packages</description>

<target name="init">
    <mkdir dir="build/classes"/>
    <mkdir dir="dist"/>    
</target>

<target name="compile" depends="init">
    <javac srcdir="src" destdir="build/classes"/>
    </target>

    <target name="jar" depends="compile">
        <jar destfile="dist/core.jar" basedir="build/classes"> 
            <zipfileset dir="build/classes" includes="core/**,xml/**,file/**,exceptions/**"/>
        </jar>
    </target>

</project>

Любой совет?

1 Ответ

1 голос
/ 01 марта 2012

Какая польза от записи zipfileset?Следующего должно быть достаточно, чтобы отфильтровать выбранные папки в банке.

  <target name="jar" depends="compile">
       <jar destfile="dist/core.jar" basedir="build/classes"  includes="core/**,xml/**,file/**,exceptions/**" />
   </target>
...