2013-04-21 5 views
5

にマルチモジュールMavenプロジェクトをビルドするには、次のように私は、プロジェクト構造を有する:どのようジェンキンス

ProjectParent 
- pom.xml 
ProjectApp 
    -pom.xml 
ProjectAPI 
    -pom.xml 
ProjectModels 
    -pom.xml 
ProjectServices 
    -pom.xml 
Etc.. 

ProjectModels/ProjectsServicesProjectAPI/ProjectApp内の依存関係です。

  1. 各モジュールを個別に構築するためにジェンキンス内で別々のジョブを作成する必要がありますか?

  2. 私はProjectAPPのためのジョブを作成したが、( "クリーンインストール" するための目標とアクションを設定しているの下に次のエラーを取得:プロジェクトのための

[INFO]スキャンを... [INFO ]
[INFO] -------------------------------------------- ---------------------------- [情報]ビルド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, 

は依存情報入手でき ダウンロードなかっ:​​ [WARNING] 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 [警告:com.myprojectのPOM: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:見つからない artifact com.myproject:myproject-common-config:jar :0.0.1-SNAPSHOT in 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に対して「クリーンインストール」に変更し、すべてが正しく構築されます。

おかげ

+2

は '' あなたは親のポンポンで他のすべてのモジュールを指定した部分がありますか?もしそうなら、これはうまくいくはずです。もしそうでなければ、それを行うべきです。 – eis

+0

'ProjectAPP'の' pom.xml'を投稿してください。 –

答えて

4

問題は、それがProjectApp親下記の他のモジュールに依存しますので、あなたがProjectAppモジュールのためだけにプロジェクトを作成することができないということです。それらのモジュールをあなたのMavenリポジトリにデプロイしないと、mavenはそれらをリポジトリやビルドリアクタで見つけることができません。

代わりに、親のジョブを作成する必要があります。これにより、必要なモジュールが構築されます。

の仕事をしているときには、オプションalso-make-dependantsを使用して作業することもできますが、これは何の経験もありません。

+0

ありがとうSpaceTrucker。あなたが提案したように私は親の仕事を作りました。 –

1

同じ問題があり、SpaceTruckerの回答が私を助けました。

そこで私はちょうどのようなものを実行します。

.../ProjectParent$ mvn -am -pl ProjectApp test

関連する問題