2010-03-04 4 views
1

Каково обычное использование ant с помощью java-класса или метода.Общие методы использования java методов использования

У меня есть несколько методов внутри класса, которые мне нужно вызвать, если запускается ant run или restore. Оба запуска и восстановления методы того же класса Java, но я не могу показаться, чтобы получить муравьев бежать, чтобы выполнить Class.beginExecution() и муравей восстановления для выполнения Class.beginRestore() ..

Благодаря

+1

Вы задумывались над тем, чтобы написать JUnit Testcase и назвать это от муравья? –

ответ

4

Ты ищет задачу Java? Вы должны дать ему полное имя класса с основным методом, точно так же, как если бы вы запускали его из командной строки.

+0

Нужно ли быть основным классом? Могу ли я выполнить конкретный метод? Или я делаю это, передавая аргументы в main, чтобы вызвать правильный метод? – XanderLynn

+1

Для этого вы можете написать свою собственную задачу. См. Http://ant.apache.org/manual/develop.html –

0

Вам необходимо написать обычный класс Java с основным методом и запустить его с помощью следующей муравой задачи:

<target name="run_main" depends="dist" description="--> runs main method of class YourMainClass"> 
    <java classname="test.com.YourMainClass" 
      failonerror="true" 
      fork="true"> 
     <sysproperty key="DEBUG" value="true"/> 
     <arg value="${basedir}/"/> 
     <classpath> 
      <pathelement location="all.project.class.path"/> 
     </classpath> 
    </java> 
</target> 
2

У вас есть несколько вариантов:

  1. Создайте основной метод на этом классе принимает параметр, указывающий правильный метод, вызывает основной метод и использует задачу Ant java.
  2. Создайте пару фиктивных классов, которые имеют основной метод, который вызывает правильный метод для вашего класса и используют вышеприведенное.
  3. Напишите свой собственный Ant task, который вызывает этот класс, или просто этот класс расширяет класс задач Ant (который будет работать, если ему не нужно расширять что-либо еще).
  4. @ Решение sunnyjava очень умно, чтобы использовать задачу Ant junit для вызова тестов JUnit, которые вызывают ваш класс. Я не вижу огромного преимущества над # 2 выше, но вы получите то, что если вы используете JUnit 4+, вы можете просто аннотировать методы, которые нужно запускать с помощью @Test. Недостатком является то, что не было бы возможности различать до и после внутри одного класса.
Смежные вопросы