2014-09-10 1 views
-1

Мне нужно автоматизировать задачи весеннего роя от муравья build.xml. Как это возможно? Может быть, есть муравьиная задача для работы?Ant задача автоматизировать операции весны?

Использование муравья вместо maven/gradle/... не мое решение, и я ничего не могу с этим поделать.

Вызов оболочки roo с задачей exec - это только последнее средство, я хочу решение, которое мне не нужно выходить из jvm процесса муравья.

+0

К гуглерам будущего: при отсутствии правильных ответов вопрос остается открытым на неопределенный срок. Если у вас есть ответ, я жду вас с возможностью продвижения/принятия. – peterh

ответ

1

Roo Shell выполняет над OSGi environment и требует его запуска (использует инъекции зависимости OSGi, чтобы получить компонент во время выполнения). Таким образом, поскольку Ant работает как простое java-приложение, не может запускать оболочку Roo в качестве задачи Ant, но использовать ant exec task (как вы уже комментируете).

Извините.

+0

Хорошо, но roo.sh (roo.bat) _has_ способ как-то вызвать roo. Он просто использует вызов java -jar для выполнения задачи. Почему муравей не мог сделать то же самое, даже если ему нужно было запустить среду osgi для работы? – peterh

+0

Что делает roo.sh для запуска Apache Felix, который загружает все компоненты Roo, такие как команды, которые вы сказали. – eruiz

+0

@eruiz Может быть, тогда было достаточно, чтобы начать феликс от муравья? Разве нет интеграции felix/ant? – peterh

1

Проект, созданный с помощью Roo, как и любой другой проект Maven, поэтому вы можете использовать задачу exec. Что-то вроде этого:

<target name="mvn-install"> 
    <exec executable="mvn"> 
     <arg value="clean" /> 
     <arg value="install" /> 
    </exec> 
</target> 
+0

Спасибо, но, возможно, вы не прочитали мое последнее предложение: «Вызов оболочки roo с задачей exec - это только последнее средство, я хочу, чтобы решение было таким, что мне не нужно выходить из jvm муравья обработать." Вы также не понимали, что я хочу вызвать операции roo («entity», «выполнить» и т. Д.), А не операции maven. Если бы это не было ответом на мой вопрос, вы получили нисходящий знак и флаг «не ответ». – peterh

+0

Итак, jmvivo прав, вы не можете вызвать команды Roo Shell из Ant, Maven, ... все команды Roo являются компонентами OSGi, поэтому для их выполнения нужен контейнер OSGi. – eruiz

+0

Да, и roo.sh запускает этот контейнер osgi, и именно это я должен делать как муравья «java» задача ... – peterh