是否有可能在 JAR、WAR 和 EAR 包中的“mvn clean install”命令之后替换某些文件?
我想做类似的事情:
- 使用外部 Jar 工具生成类文件
- 使用 maven "mvn clean install" 命令构建 EAR、WAR 和 JAR 包(使用从第一步生成的类)
- 编译jsp servlet类
- 使用外部 Jar Tool 生成描述符和 web.xml
- 替换描述符、web.xml 和编译的 JSP servlet 等文件。
我怎样才能做到这一点?
将构建步骤 1 移动到不同的项目或独立模块中,该模块将结果安装在 Maven 将查看的位置(即在本地存储库中)。mvn file:install
是你的朋友。
或者使用Maven Antrun 插件和generate-sources
orcompile
阶段。
这样,第 1 步中的特殊构建将成为另一个依赖项。
Maven 也有一个 JSP 编译器,您可以在步骤 3 中使用它来生成另一个依赖项。
使用Maven Antrun 插件生成自定义web.xml
和其他文件描述符,并让一个独立的模块收集 WAR 中的所有内容。
所以你应该把你的构建分成几个独立的模块。一个只是编译代码。下一步编译 JSP(因为它们使用步骤 1 中的代码)。接下来,从中编译一个 WAR(在此步骤中不编译 Java 代码)。最后,另一个构建 EAR 的模块。