#java #maven #build #maven-3 #maven-plugin
#java #maven #сборка #мавен-3 #maven-плагин #maven-3
Вопрос:
Я пытаюсь выполнить плагин maven вне обычного процесса сборки, это потому, что он должен выполняться как часть задания дженкинса только при слиянии с мастером. Об этом позаботится файл jenkins. Однако, чтобы гарантировать это, плагин не должен запускаться при запуске mvn clean install. То, как я это сделал сейчас, — это поместить этот плагин в pluginManagement, и я вызываю mvn exec:exec@goal когда я хочу запустить плагин.
Этот плагин следует запускать только один раз, на родительском уровне. Я установил для inherited значение false, но сборка по-прежнему завершается с этим сообщением об ошибке
The parameter 'executable' is missing or invalid
после успешного выполнения на родительском уровне.
Вот как в настоящее время настроен мой плагин:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.0.0</version>
<inherited>false</inherited>
<configuration>
<param>${VID}</param>
<param>${VKEY}</param>
<param>${BUILD_NUMBER}</param>
<executable>java</executable>
</configuration>
<executions>
<execution>
<id>veracode</id>
<configuration>
<arguments>
<argument>-jar</argument>
<argument>${settings.localRepository}/com/veracode/vosp/api/wrappers/vosp-api-wrappers-java/20.7.7.0/vosp-api-wrappers-java-20.7.7.0.jar</argument>
<argument>-action</argument>
<argument>UploadAndScan</argument>
<argument>-vid</argument>
<argument>${VID}</argument>
<argument>-vkey</argument>
<argument>${VKEY}</argument>
<argument>-criticality</argument>
<argument>High</argument>
<argument>-createprofile</argument>
<argument>false</argument>
<argument>-createprofile</argument>
<argument>false</argument>
<argument>-version</argument>
<argument>${BUILD_NUMBER}</argument>
<argument>-appname</argument>
<argument>PULSE-DELIVERY</argument>
<argument>-sandboxname</argument>
<argument>proxy-standard</argument>
<argument>-filepath</argument>
<argument>proxy-service/target/lib</argument>
</arguments>
<classpathScope>run</classpathScope>
<includePluginDependencies>true</includePluginDependencies>
</configuration>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.veracode.vosp.api.wrappers</groupId>
<artifactId>vosp-api-wrappers-java</artifactId>
<version>20.7.7.0</version>
</dependency>
</dependencies>
</plugin>
Ответ №1:
Я решил это, установив для параметра skip значение strue во всех дочерних pom.