Maven 2 多模块项目的构建问题

Maven 2 多模块项目的构建问题,maven-2,build-process,Maven 2,Build Process,我有一个多模块的网络项目。该项目的四个模块打包为jar,并作为依赖项添加到第五个模块,该模块打包为war。当需要部署应用程序时,我只需在war项目上运行包,我的war将与所有依赖项一起创建 现在有一个问题 我的一个模块有很大的变化。现在,当我为我的项目创建war时,这些更改没有反映在输出war文件中(war的lib文件夹中的jar仍然保留着旧代码) 你能指出我在发布过程中遗漏的东西吗?为什么旧代码被打包在战争中 您能为使用maven的实际文件构建过程指出一些好的资源吗 问候,, 维杰 当需要部署

我有一个多模块的网络项目。该项目的四个模块打包为jar,并作为依赖项添加到第五个模块,该模块打包为war。当需要部署应用程序时,我只需在war项目上运行包,我的war将与所有依赖项一起创建

现在有一个问题

我的一个模块有很大的变化。现在,当我为我的项目创建war时,这些更改没有反映在输出war文件中(war的lib文件夹中的jar仍然保留着旧代码)

你能指出我在发布过程中遗漏的东西吗?为什么旧代码被打包在战争中

您能为使用maven的实际文件构建过程指出一些好的资源吗

问候,, 维杰

当需要部署应用程序时,我只需在war项目上运行包,我的war将与所有依赖项一起创建。(…)我的一个模块有很大的变化。现在,当我为我的项目创建war时,这些更改没有反映在输出war文件中(war的lib文件夹中的jar仍然保留着旧代码)

您需要运行“reactor build”,即通过从聚合父级启动maven,在所有模块上运行maven。假设您具有以下结构:

parent |-- module1 | `-- pom.xml |-- module2 | `-- pom.xml |-- module3 | `-- pom.xml |-- module4 | `-- pom.xml |-- webapp | `-- pom.xml `-- pom.xml Maven将读取所有的
,并根据依赖关系以正确的顺序构建它们

查看反应堆构建和更高级选项的说明。例如,您可以像这样调用maven来构建
webapp
模块及其依赖项(但仅其依赖项,而不是所有模块):


谢谢你,帕斯卡。我试过这个,发现它有效。谢谢,它解决了我的问题。他不需要运行mvn安装而不是mvn包吗?否则,当web模块开始解决其依赖关系时,它会从本地存储库中获取模块1-4的潜在陈旧版本,而不是新构建的版本;看见
<modules>
  <module>module1</module>
  <module>module2</module>
  <module>module3</module>
  <module>module4</module>
  <module>webapp</module>
</modules>
cd parent
mvn package
mvn -am -pl webapp