Ant: разделить исходный каталог на две банки

#java #eclipse #ant

#java #eclipse #ant

Вопрос:

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

 Jar 1:
    com.myproject.Foo
    com.myproject.Bar
Jar 2:
    com.myproject.FooBar
    com.myproject.BarFoo
    com.myproject.FooBarFoo
    ...
  

Ответ №1:

Смотрите http://ant.apache.org/manual/Tasks/jar.html . Вам просто нужно использовать наборы файлов или includes / excludes внутри вашей задачи jar, чтобы включить только те файлы, которые вы хотите в каждую банку:

 <target name="makeJars">
    <jar destfile="jar1.jar" 
         basedir="classes" 
         includes="com/myproject/Foo.class, com/myproject/Bar.class"/>

    <jar destfile="jar2.jar" 
         basedir="classes" 
         includes="com/myproject/FooBar.class, com/myproject/BarFoo.class, com/myproject/FooBarFoo.class" />
</target>
  

Комментарии:

1. Вместо явного перечисления каждого класса, могу ли я просто включить каталог / пакет?

2. Конечно. Прочитайте документацию для атрибута includes. В нем говорится: «список шаблонов файлов, которые должны быть включены, разделенных запятой или пробелом». И вот что говорится в документации ant о шаблонах: ant.apache.org/manual/dirtasks.html#patterns . Чтение документации — верный способ узнать о продуктах и технологиях. Сделайте это.