2015-01-18 3 views
0

Многие извинения, если это заканчивается тем, что глупый вопрос, я немного из моей глубины на данный момент ...скрипт, используемый для замены EXEC-Maven-плагин с Maven-antrun-плагин

Это связано к предыдущему вопросу

Upgrading exec-maven-plugin from 1.1.1 to 1.2 or 1.3.2

по существу у меня есть Java приложение Maven, который в настоящее время запуска из командной строки в Дженкинс (или командное окно для проверки). Он выполняет некоторую обработку, которая занимает около часа на главном сервере (2 дня на меньшей машине!). Он работает с exec-maven-plugin 1.1.1. Недавно я обновил некоторые зависимости и, как ни странно, теперь он зависает в конце обработки, где раньше этого не было. Я немного погуглил, и пока я не совсем понимаю, почему это кажется известной проблемой. Я попытался обновить модуль exec-maven-plugin до 1.3.2, и это не работает, о чем шла речь выше. На самом деле, я думаю, что меня отследили, и я думаю, мне нужно найти другой способ запустить код (?). Приведу основной вопрос ...

Ответ, который я видел чаще всего (я работаю в среде Windows), и кто-то прокомментировал это, чтобы заменить exec-maven-plugin на maven-antrun-plugin , Как ни странно, хотя основные примеры, которые я нашел в Интернете, на самом деле не показывают, как сделать гораздо больше, чем запустить команду echo. Если я правильно понимаю, мне нужно запустить команду Ant exec, чтобы запустить код из основного proc и, возможно, запустить другой скрипт, чтобы остановить основной поток при завершении (об этом я даже не понимаю). Я просто не могу понять, что я должен делать в скрипте. Должен ли я искать документацию Ant для разработки сборки файла build.xml (я предполагаю, что это не приложение для maven, и это похоже на обратный шаг), или я должен запускать некоторые команды dos для выполнения некоторых задач или некоторые из встроенных команд муравьев?

Просто для повторного итерации Я не ожидаю, что кто-нибудь напишет сценарий для меня (!), Но на данный момент я просто не понимаю, чего я пытаюсь достичь в сценарии, какой уровень команд я должен вставлять его или как начинать. Если бы кто-нибудь мог указать мне в правильном направлении или показать мне, указав на какую-то четкую документацию, я был бы очень благодарен.

В случае, если я не ясно, я запустить приложение с помощью

<plugin> 
<groupId>org.codehaus.mojo</groupId> 
<artifactId>exec-maven-plugin</artifactId> 
<version>1.1.1</version>  
<executions> 
    <execution> 
     <phase>install</phase> 
     <goals> 
      <goal>java</goal> 
     </goals> 
     <configuration> 
      <mainClass>com.org.dc.dcClient</mainClass> 
     </configuration> 
</execution> 

Я думаю, что решение моей проблемы (Maven не получает управление обратно на код КОНКУРСЕ) должен изменить это что-то вдоль линий

<build> 
    <plugins> 
    <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-antrun-plugin</artifactId> 
     <version>1.1</version> 
     <executions> 
      <execution> 
       <phase>install</phase> 
       <goals> 
       <goal>run</goal> 
       </goals> 
       <configuration> 
       <tasks> 
       <echo>Using Ant Run</echo> 
       <exec [script]"/> 
       </tasks>     
       </configuration> 
      </execution> 
     </executions> 

Благодарности

ответ

0

Если все, что вам нужно, это выполнить класс java, тогда добавление следующих строк вашему pom будет выполнять эту работу.

<artifactId>maven-antrun-plugin</artifactId> 
    <version>1.8</version> 
    <executions> 
     <execution> 
     <phase> <!-- a lifecycle phase --> </phase> 
     <configuration> 
      <target> 
      <java classname="test.Main"> 
      <arg value="-h"/> 
      <classpath> 
       <pathelement location="dist/test.jar"/> 
       <pathelement path="${java.class.path}"/> 
      </classpath> 
      </java> 
      </target> 
     </configuration> 
     <goals> 
      <goal>run</goal> 
     </goals> 
     </execution> 
    </executions> 

Обратите внимание на часть между целевыми тегами. Вам нужно иметь дело с конфигурацией для classpath и т. Д.

+0

Большое спасибо - нашел эту ссылку, где бы она выглядела, пытаясь выяснить, что означает -h ... просто добавив в случае, если кто-нибудь придет к этому вопросу https: // ant.apache.org/manual/Tasks/java.html – gringogordo

Смежные вопросы