Как я выполняю программу с помощью Знатока?

Я хотел бы иметь триггер цели Знатока выполнение класса Java. Я пытаюсь мигрировать по a Makefile со строками:

neotest:
    mvn exec:java -Dexec.mainClass="org.dhappy.test.NeoTraverse"

И я хотел бы mvn neotest произвести что make neotest в настоящее время делает.

Ни исполнительная документация плагина, ни страницы задач Ant Знатока не имели вида простого примера.

В настоящее время я в:


  org.codehaus.mojo
  exec-maven-plugin
  1.1
  
    java
  
  
    org.dhappy.test.NeoTraverse
  

Я не знаю, как инициировать плагин из командной строки, все же.

113
задан Will 18 March 2010 в 18:23
поделиться

2 ответа

С глобальной конфигурацией , которую вы определили для модуля exec-maven-plugin:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <version>1.4.0</version>
  <configuration>
    <mainClass>org.dhappy.test.NeoTraverse</mainClass>
  </configuration>
</plugin>

вызов mvn exec: java в командной строке вызовет подключаемый модуль, настроенный для выполнения класса org.dhappy.test.NeoTraverse .

Итак, чтобы запустить плагин из командной строки, просто запустите:

mvn exec:java

Теперь, если вы хотите выполнить цель exec: java как часть вашей стандартной сборки, вам необходимо привязать цель к определенной фазе жизненного цикла по умолчанию .Для этого объявите фазу , к которой вы хотите привязать цель, в элементе execution :

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <version>1.4</version>
  <executions>
    <execution>
      <id>my-execution</id>
      <phase>package</phase>
      <goals>
        <goal>java</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <mainClass>org.dhappy.test.NeoTraverse</mainClass>
  </configuration>
</plugin>

В этом примере ваш класс будет выполняться во время пакета фаза. Это всего лишь пример, адаптируйте его под свои нужды. Также работает с плагином версии 1.1.

139
ответ дан 24 November 2019 в 02:44
поделиться

Для выполнения нескольких программ мне также понадобилась секция profiles:

<profiles>
  <profile>
    <id>traverse</id>
    <activation>
      <property>
        <name>traverse</name>
      </property>
    </activation>
    <build>
      <plugins>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <configuration>
            <executable>java</executable>
            <arguments>
              <argument>-classpath</argument>
              <argument>org.dhappy.test.NeoTraverse</argument>
            </arguments>
          </configuration>
        </plugin>
      </plugins>
    </build>
  </profile>
</profiles>

This is then executable as:

mvn exec:exec -Dtraverse
24
ответ дан 24 November 2019 в 02:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: