Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 2 Maven子模块未生成_Maven 2_Maven_Build Process_Maven Plugin - Fatal编程技术网

Maven 2 Maven子模块未生成

Maven 2 Maven子模块未生成,maven-2,maven,build-process,maven-plugin,Maven 2,Maven,Build Process,Maven Plugin,我有一个相对简单的多模块maven,它由一个父pom构建。这包括以下两个子模块: <modules> <module>WebApp</module> <module>WebService</module> </modules> 它正在运行weblogic:在顶层(pom!)模块上部署目标。此目标只能在war或ear模块上运行 您需要在WebApp子模块中绑定该目标,以便在安装阶段运行。 它目前正在顶层(po

我有一个相对简单的多模块maven,它由一个父pom构建。这包括以下两个子模块:

<modules>
    <module>WebApp</module>
    <module>WebService</module>
</modules>

它正在运行weblogic:在顶层(pom!)模块上部署目标。此目标只能在war或ear模块上运行

您需要在WebApp子模块中绑定该目标,以便在安装阶段运行。 它目前正在顶层(pom!)模块上运行

e、 g.尝试将以下内容添加到Webapp子模块中的weblogic配置中

  <executions> 
     <execution> 
        <phase>install</phase> 
          <goals> 
            <goal>deploy</goal> 
          </goals> 
     </execution> 
   </executions> 

安装
部署
另见

如果您希望在构建结束时运行此功能,则在构建所有其他模块后,您需要:

  • 重新订购您的子模块,使WebApp成为最后一个,然后按上述步骤操作
  • 或者,添加另一个将最后执行的子模块,这取决于您的WebApp子模块。然后,通过指定以下属性maven.weblogic.war,告诉weblogic插件使用该.war文件。您可能希望首先使用目标,将目标插入到最后一个子模块的目标目录中
如果要首先为所有项目运行安装阶段,然后将项目部署到Web服务器,则必须拆分maven调用

mvn clean install
mvn weblogic:deploy

默认情况下,maven会对每个项目执行所有任务,而将maven任务分开是单独运行它们的唯一解决方案。

maven首先在父项目上运行所有指定的目标,然后在子项目上运行

从日志中可以明显看出,maven运行了父级的
clean
install
目标,然后尝试运行
weblogic:deploy
目标。现在,
weblogic:deploy
显然不是与父级相关的目标,因为它旨在部署子webapp。maven不知道这一点,因此也不知道失败


也许您应该重新考虑npellow的解决方案,因为它应该满足您的需求。

部署目标是在顶层运行。我想在部署开始之前进行安装以构建所有子项目。以上代码仅在我仅在WebApp级别安装时相关,我不想在本例中执行此操作。您无法安装顶级项目。如果您想安装所有项目,并在安装之后将其部署到Web服务器,请创建一个batchscript,该脚本正好可以执行此操作。Maven和weblogic Maven插件不支持这一点。我可以在不包括部署目标的情况下在顶层安装。这将按指定安装子模块。为什么当我添加部署目标时,它会决定不安装子项目。另外,如果我在子级运行full命令,为什么它会执行安装和部署。我添加了另一个用于部署的模块,该模块在安装阶段运行插件部署目标。此时,其他模块已安装。谢谢你的帮助。我确实想到了这一点,但我需要在一行中指定。我正在使用Teamcity,我不认为这些命令可以像这样分开。
mvn clean install
mvn weblogic:deploy