建立一个多模块Maven项目我有一个项目的结构如下:如何詹金斯
ProjectParent
- pom.xml
ProjectApp
-pom.xml
ProjectAPI
-pom.xml
ProjectModels
-pom.xml
ProjectServices
-pom.xml
Etc..
ProjectModels/ProjectsServices
不到ProjectAPI/ProjectApp
依赖性。
我应该在Jenkins中创建单独的作业来分别构建每个模块吗?
我创建了一个工作为
ProjectAPP
但得到以下(已设定目标和行动 “全新安装” 以下错误:
[INFO]扫描的项目... [INFO ]
[INFO] -------------------------------------------- ---------------------------- [INFO] Building myproject-app 0.0.1-SNAPSHOT [INFO] ----- -------------------------------------------------- -----------------Downloading: http://maven.springframework.org/snapshot/com/myproject/myproject-common-config/0.0.1-SNAPSHOT/myproject-common-config-0.0.1-SNAPSHOT.pom [WARNING] The POM for com.myproject:myproject-common-config:jar:0.0.1-SNAPSHOT is missing,
没有依赖资料 下载: [警告]为com.myproject的POM:myproject的实体中:jar:0.0.1-SNAPSHOT缺失,没有 依赖信息提供 下载:http://maven.springframework.org/snapshot/com/myproject/myproject-services/0.0.1-SNAPSHOT/myproject-services-0.0.1-SNAPSHOT.pom [警告] POM for com.myproject:myproject-services:jar:0.0.1-SNAPSHOT缺失,不存在 依赖关系信息 下载:http://maven.springframework.org/snapshot/com/myproject/myproject-persistence/0.0.1-SNAPSHOT/myproject-persistence-0.0.1-SNAPSHOT.pom [警告] com.myproject的POM:myproject-persistence:jar:0.0 .1-SNAPSHOT丢失,没有 依赖关系信息可用 正在下载:http://maven.springframework.org/snapshot/com/myproject/myproject-common-config/0.0.1-SNAPSHOT/myproject-common-config-0.0.1-SNAPSHOT.jar ...... org.apache.maven.lifecycle.LifecycleExecutionException:未能在项目上执行目标myproject-app:无法解析项目的依赖项 com.myproject:myproject-app:war:0.0 .1-SNAPSHOT: 以下工件无法解析: com.myproject:myproject-common-config:jar:0.0.1-SNAPSHOT, com.myproject:myproject-entities:jar:0.0.1-SNAPSHOT, com.myproject:myproject-services:jar:0.0.1-SNAPSHOT, com.myproject:myproject-persistence:jar:0.0.1 -snapshot:could not find artifact com.myproject:myproject-common-config:jar :0.0.1-SNAPSHOT org.springframework.maven.snapshot (http://maven.springframework.org/snapshot)
ProjectParent双龙
<?xml version="1.0" encoding="UTF-8"?>
<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>com.myproject</groupId>
<artifactId>myproject-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>myproject-entities</module>
<module>myproject-services</module>
<module>myproject-persistence</module>
<module>myproject-app</module>
<module>myproject-merchant</module>
<module>myproject-common-config</module>
<module>myproject-api</module>
</modules>
<dependencyManagement>
<dependencies>
...
</dependencies>
</dependencyManagement>
<repositories>
...
</repositories>
<build>
...
</build>
<properties>
...
<myproject-entities-version>0.0.1-SNAPSHOT</myproject-entities-version>
<myproject-services-version>0.0.1-SNAPSHOT</myproject-services-version>
<myproject-persistence-version>0.0.1-SNAPSHOT</myproject-persistence-version>
</properties>
</project>
ProjectApp双龙
<?xml version="1.0"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.myproject</groupId>
<artifactId>myproject-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>myproject-app</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>myproject-app</name>
<url>http://maven.apache.org</url>
<dependencies>
...
<dependency>
<groupId>com.myproject</groupId>
<artifactId>myproject-common-config</artifactId>
<version>${myproject-common-config}</version>
</dependency>
<dependency>
<groupId>com.myproject</groupId>
<artifactId>myproject-entities</artifactId>
<version>${myproject-entities-version}</version>
</dependency>
<dependency>
<groupId>com.myproject</groupId>
<artifactId>myproject-services</artifactId>
<version>${myproject-services-version}</version>
</dependency>
<dependency>
<groupId>com.myproject</groupId>
<artifactId>myproject-persistence</artifactId>
<version>${myproject-persistence-version}</version>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<myproject-common-config>0.0.1-SNAPSHOT</myproject-common-config>
<myproject-entities-version>0.0.1-SNAPSHOT</myproject-entities-version>
<myproject-services-version>0.0.1-SNAPSHOT</myproject-services-version>
<myproject-persistence-version>0.0.1-SNAPSHOT</myproject-persistence-version>
</properties>
</project>
我使用了错误的目标是什么?我需要链接一些命令吗?即先构建其他模块?
我正在使用Maven 3。
注意:我将目标更改为“干净安装”,针对ParentProject Pom,并且所有内容都正确构建。
感谢
你指定的父POM''节中所有其它模块?如果是这样,这应该工作。如果没有,你应该这样做。 –
eis
2013-04-21 22:04:57
您可以发布'ProjectAPP'的'pom.xml'吗? – 2013-04-22 05:46:33