Eclipse: Ant скрипт для экспорта библиотеки пользователя / библиотеки для проекта - PullRequest
3 голосов
/ 31 марта 2011

Я новичок в программировании на Java.Изначально я начал с NetBeans, но перешел на Eclipse по совету друга.

В NetBeans предварительно написанный скрипт сборки ant для проекта сгенерирует файл Project.jar и разместит все необходимые библиотеки / jarsв папке lib /.

Однако в Eclipse мне кажется, что мне нужно написать свой собственный ant-скрипт.Я написал несколько строк для создания файла jar:

<target name="compile"> <mkdir dir="${build.dir}"/> <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="jars" debug="on"/> </target>

Как мне написать команду для копирования всех jar-файлов из моей пользовательской библиотеки в $ {build.dir} / lib / folder?

Спасибо.

Ответы [ 3 ]

4 голосов
/ 31 марта 2011

Используйте copy task

примерно так, с соответствующим шаблоном включения или исключения

  <copy todir="${build.dir}/lib/">
    <fileset dir="src_dir">
      <include name="**/*.jar"/>
    </fileset>
  </copy>



 <copy todir="${build.dir}/lib/">
    <fileset dir="src_dir" excludes="**/*.java"/>
  </copy>
0 голосов
/ 10 сентября 2015

Я рекомендую использовать библиотеку ant4eclipse для проектов затмения на основе муравьев. Когда вы используете его, вы можете получить доступ к рабочему пространству / настройкам проекта eclipse, а также можете повторить путь к классу проекта eclipse в Ant.

См. Пример кода ниже:

<path id="ant.classpath">
    <fileset dir="${lib.dir}/ant4eclipse">
        <include name="*.jar" />
</fileset>

<taskdef resource="net/sf/antcontrib/antlib.xml" />
<taskdef resource="net/sf/ant4eclipse/antlib.xml" />

<targetPlatform

<target name="copy_jars">
  <getEclipseClasspath workspace="${basedir}/.."
                       projectname="TestProject"
                       targetPlatformLocation="c:/eclipse"
                       property="classpath"
                       relative="false"
                       runtime="true"
                       pathseparator="#" />

  <!-- iterate over all classpath entries -->
  <foreach list="${classpath}" delimiter="#"
    target="copy_jar_file" param="classpath.entry" />
</target>

<target name="copy_jar_file">
  <!-- check if current is a .jar-file ... -->
  <if>
    <isfileselected file="${classpath.entry}">
      <filename name="**/*.jar" />
    </isfileselected>
    <then>
      <!-- copy the jar file to a destination directory -->
      <copy file="${classpath.entry}" tofile="${dest.dir}"/>
    </then>
  </if>
</target>

Если вы хотите использовать пользовательские библиотеки, вы можете определить это с помощью команды userlibraries .

0 голосов
/ 31 марта 2011

Если вы новичок в Java, взгляните на maven .Это инструмент сборки, такой как ant, с множеством предопределенных «целей» и полностью разработанной обработкой зависимостей (для других библиотек).Вы найдете плагин eclipse , который будет очень полезен.

Проекты Maven имеют специальный макет каталога , который является своего рода наилучшей практикой и полезен для начинающих.Если вы работаете над проектом maven, вы можете просто использовать команду

mvn dependency:copy-dependencies

в качестве консольной команды (или конфигурации запуска eclipse), чтобы скопировать зависимости вашего проекта (библиотеки) в каталог <project>\target\dependency.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...