Java 将构建任务添加到maven pom项目
需要扩展现有的maven pom项目Java 将构建任务添加到maven pom项目,java,maven,maven-compiler-plugin,Java,Maven,Maven Compiler Plugin,需要扩展现有的maven pom项目pom,该项目当前收集并打包资源,以验证某些资源。 在同一个项目中,我创建了一个java源目录src/main/java,并在其中创建了一个小型java类来验证一些资源。此外,我还在pom中配置了maven编译器和exec maven插件 java类在IDE中运行良好,但在执行mvn clean install时失败,因为它找不到已编译的类文件。这是因为编译/测试编译阶段不适用于pom打包项目 我的问题是: 我可以修改编译器插件以在不同于默认编译阶段的阶段执
pom
,该项目当前收集并打包资源,以验证某些资源。
在同一个项目中,我创建了一个java源目录src/main/java
,并在其中创建了一个小型java类来验证一些资源。此外,我还在pom中配置了maven编译器和exec maven插件
java类在IDE中运行良好,但在执行mvn clean install
时失败,因为它找不到已编译的类文件。这是因为编译/测试编译阶段不适用于pom打包项目
我的问题是:
- 我可以修改编译器插件以在不同于默认编译阶段的阶段执行(编译)吗。(我尝试添加执行标记,但没有成功)
- 为什么要执行execmaven插件,因为它是在测试阶段定义的,根据文档,测试阶段不是pom包的一部分
- 是否有其他可能在pom中运行此验证任务
将包从pom修改为jar是一种政治上的次优解决方案。是的,您可以配置maven编译器插件,以便在pom包的
包
阶段运行编译
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
<executions>
<execution>
<goals>
<goal>java</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
<configuration>
<mainClass>com.example.validate.App</mainClass>
</configuration>
</plugin>
</plugins>
</build>
org.apache.maven.plugins
maven编译器插件
3.5.1
编译
包裹
org.codehaus.mojo
execmaven插件
1.4.0
JAVA
包裹
com.example.validate.App
这里有一些固有的错误。有Java代码要编译的pom
项目?你到底想在这里干什么?你的问题和最终目标是什么?你目前的项目结构是什么?相关:从字面上说,这是虐待<代码>包阶段不用于编译源代码。