6

次のようなプロジェクト構造があります。

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

ProjectModels/ProjectsServices内の依存関係ですProjectAPI/ProjectApp

  1. 各モジュールを個別にビルドするには、Jenkins 内で個別のジョブを作成する必要がありますか?

  2. のジョブを作成しましProjectAPPたが、以下のエラーが表示されます (目標とアクションを「クリーン インストール」に設定しました:

[情報] プロジェクトをスキャンしています... [情報]
[情報] ----------------------------------- ------------------------------------- [情報] myproject-app 0.0.1-SNAPSHOT のビルド [情報] - - - - - - - - - - - - - - - - - - - - - - - - ------------------------

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,

利用可能な依存関係情報はありませんダウンロード: http://maven.springframework.org/snapshot/com/myproject/myproject-entities/0.0.1-SNAPSHOT/myproject-entities-0.0.1-SNAPSHOT.pom .myproject:myproject-entities:jar:0.0.1-SNAPSHOT がありません。依存関係の情報はありません-services-0.0.1-SNAPSHOT.pom [警告] com.myproject:myproject-services:jar:0.0.1-SNAPSHOT の POM がありません。依存関係の情報はありません ダウンロード: http://maven.springframework.org/スナップショット/com/myproject/myproject-persistence/0.0.1-SNAPSHOT/myproject-persistence-0.0.1-SNAPSHOT.pom [警告] com.myproject:myproject-persistence:jar:0.0.1-SNAPSHOT の POM がありません。依存関係の情報はありません。ダウンロード: 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: アーティファクト com.myproject:myproject-common-config:jar:0.0.1-SNAPSHOT が org.springframework.maven で見つかりませんでした。スナップショット ( http://maven.springframework.org/snapshot )


ProjectParent Pom

<?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 Pom

<?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 に対してターゲットを「クリーン インストール」に変更すると、すべてが正しくビルドされます。

ありがとう

4

2 に答える 2

4

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

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

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

于 2013-04-22T06:57:55.967 に答える
1

Had the same problem, and SpaceTrucker answer helped me.

Hence I just run something like:

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

于 2013-10-16T06:23:59.753 に答える