Java Maven为web应用程序构建自动化
我有一个项目的三个模块,分别作为两个独立的jar和一个WAR进行开发。战争指的是另外两个罐子。请参阅下面的详细信息- 1.processDAO——这是一个生成jar的java项目(processDAO.jar) 2.ProcessModel——这是一个生成jar(ProcessModel.jar)的java项目。在pom.xml中,它是指(processDAO.jar) 3.ProcessWebApp——这是主要的web应用程序项目,如War制作(ProcessWebApp.War)。现在使用的是(processModel.jar) 现在,在每次开发之后,当我需要构建WAR文件时,我首先构建-(processDAO.jar) 然后是第二个-processModel.jar 最后我构建了ProcessWebApp.WAR 所以每次我都必须遵循这个顺序构建过程。现在,每当我构建ProcessWebApp.WAR时,我都希望其他依赖项以相同的顺序自动构建(1->2->3) 任何关于这方面的建议都会非常有用 我使用的是带有mavenplugin的Eclipse环境。我只需右键单击每个项目,然后运行“Maven安装” 1.processDAO.pomJava Maven为web应用程序构建自动化,java,maven,build-automation,Java,Maven,Build Automation,我有一个项目的三个模块,分别作为两个独立的jar和一个WAR进行开发。战争指的是另外两个罐子。请参阅下面的详细信息- 1.processDAO——这是一个生成jar的java项目(processDAO.jar) 2.ProcessModel——这是一个生成jar(ProcessModel.jar)的java项目。在pom.xml中,它是指(processDAO.jar) 3.ProcessWebApp——这是主要的web应用程序项目,如War制作(ProcessWebApp.War)。现在使用的
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>processDAO</groupId>
<artifactId>processDAO</artifactId>
<version>2.0</version>
<packaging>jar</packaging>
4.0.0
过程刀
过程刀
2
罐子
2.ProcessModel.pom
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ProcessModel</groupId>
<artifactId>ProcessModel</artifactId>
<version>2.0</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>processDAO</groupId>
<artifactId>processDAO</artifactId>
<version>2.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
4.0.0
过程模型
过程模型
2
罐子
过程刀
过程刀
2
编译
3.ProcessWebApp.pom
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ProcessWebApp</groupId>
<artifactId>ProcessWebApp</artifactId>
<version>2.0</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>ProcessModel</groupId>
<artifactId>ProcessModel</artifactId>
<version>2.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
4.0.0
ProcessWebApp
ProcessWebApp
2
罐子
过程模型
过程模型
2
编译
听下面几个问题,这些问题与您创建pom的方式或您想要实现的目标有关 对现有示例的一个小注释是修复
元素,通常它是com.xxx.my.company的内容,与工件id不相同
现在据我所知,您似乎仍在更改依赖模块上的代码,这意味着您正在发布快照
版本(否则,您不需要每次都检查libs的兼容性,对吗?)。请参阅有关使用xxx快照的问题
还要检查-U标志mvn clean install-U的使用情况。请参见mvn-帮助
-U、 --更新快照强制检查丢失的快照
在上发布和更新快照
远程存储库
听一下,您创建pom的方式或您想要实现的目标有几个问题 对现有示例的一个小注释是修复
元素,通常它是com.xxx.my.company的内容,与工件id不相同
现在据我所知,您似乎仍在更改依赖模块上的代码,这意味着您正在发布快照
版本(否则,您不需要每次都检查libs的兼容性,对吗?)。请参阅有关使用xxx快照的问题
还要检查-U标志mvn clean install-U的使用情况。请参见mvn-帮助
-U、 --更新快照强制检查丢失的快照
在上发布和更新快照
远程存储库
这通常通过使用父项目POM来实现,其唯一目的是构建它所依赖的模块。创建POM时,将包装类型指定为“POM”,然后将WAR和JAR指定为模块元素。Sonatype的网站上有一个很好的例子和描述。这通常是通过使用父项目POM来实现的,其唯一目的是构建它所依赖的模块。创建POM时,将包装类型指定为“POM”,然后将WAR和JAR指定为模块元素。Sonatype的网站上有一个很好的例子和描述。那么当你说pom.xml中的reffering(processDAO.jar)是什么意思?我是说,你是如何通过POM实现这一点的?还有,您是如何做到这一点的,现在使用的是(processModel.jar)?@Gimby您所说的父pom是什么意思???有thrre项目和三个pom。两个是Jar项目,一个是WAR。最后一个是实际的webapplication@Gimby我们这样做是为了确保前两个jar文件作为可插入组件工作,我们可以插入到任何应用程序中。现在,我已经用第三个(ProcessWebApp.WAR)插入了它们.你能详细说明一下你的想法或同一个(多模块项目)的任何链接吗?那么,当你说pom.xml中是reffering(processDAO.jar)时,你是什么意思?我是说,你是如何通过POM实现这一点的?还有,您是如何做到这一点的,现在使用的是(processModel.jar)?@Gimby您所说的父pom是什么意思???有thrre项目和三个pom。两个是Jar项目,一个是WAR。最后一个是实际的webapplication@Gimby我们这样做是为了确保前两个jar文件作为可插入组件工作,我们可以插入到任何应用程序中。现在,我已经用第三个(ProcessWebApp.WAR)插入了它们。您能详细说明您的想法或同一(多模块项目)的任何链接吗?是的,您是对的。groupId应该是这样的。谢谢您的建议,但此答案不适用于当前上下文。,是的,依赖模块正在变化,这就是为什么我需要一直构建它。这是一个多模块应用程序兄弟,我想你对此有想法。请看这里的多模块应用程序示例是的,我知道多模块项目是什么:)是的,你是对的,groupId应该是这样谢谢你的建议,但这个答案不是针对当前的上下文。是的,依赖模块正在改变,这就是为什么我需要一直构建它。这是一个多模块应用程序兄弟,我想你已经知道了。请看这里的多模块应用程序示例是的,我知道多模块项目是什么:)