3

mvn deploy単一の親ポンに使用することは可能ですか? この pom.xml ファイルは、すべてのプロジェクトの親 pom になります。この pom.xml ファイルだけをデプロイし、他の成果物をデプロイしないことは可能ですか?

これを会社全体の 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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>onestopspot</groupId>
    <artifactId>parent</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>OneStopSpot - Parent</name>
    <description>Android application for OneStopspot</description>
    <distributionManagement>
        <repository>
            <id>confiz-repo</id>
            <url>http://10.10.10.230:8081/nexus/content/repositories/snapshots/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </snapshots>
        </repository>
     </distributionManagement>
    <dependencyManagement>
        <dependencies>
            <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android</artifactId>
        <version>4.1.1.4</version>
        <scope>provided</scope>
        </dependency>
            <dependency>
                <groupId>com.google.android</groupId>
                <artifactId>android-test</artifactId>
                <version>2.3.3</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>com.jayway.maven.plugins.android.generation2</groupId>
                    <artifactId>android-maven-plugin</artifactId>
                    <version>3.5.1</version>
                    <configuration>
                        <sdk>
                            <platform>10</platform>
                        </sdk>
                        <undeployBeforeDeploy>true</undeployBeforeDeploy>
                    </configuration>
                    <extensions>true</extensions>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
    <modules>
        <module>api_library</module>
        <module>instrumentation</module>
    </modules>
</project>
4

3 に答える 3

4

はい、実際、これはプロジェクト POM のボイラープレートの量を減らすための標準的な方法です。

親 POM の詳細については、https ://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-project-relationships.html#pom-relationships-sect-project-inheritance をご覧ください。

また、POM のみのプロジェクトを使用してボイラープレートをプロジェクト POM から除外するには: https://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-pom-best-practice.html

于 2013-03-19T12:41:54.360 に答える
1

はい、可能です。パッケージングを po として定義するだけで機能します。

groupId とバージョンの継承に注意してください。マルチモジュール プロジェクトのようにこれを継承したくない場合は、オーバーライドするだけです。

次に例を示します。

会社全体の親ポン:

 <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/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <groupId>de.mycompany.parent</groupId>
    <artifactId>parent-pom</artifactId>
    <version>1.0</version>
    <packaging>pom</packaging>


</project>

マルチモジュール プロジェクトの親 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/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>de.mycompany.parent</groupId>
        <artifactId>parent-pom</artifactId>
        <version>1.0</version>
    </parent>
    <groupId>my-overridden-groupId</groupId>
    <artifactId>my-overridden-artifactId</artifactId>
    <version>1.1</version>
    <packaging>pom</packaging>

    <modules>
        <module>myOtherModule</module>
    </modules>

</project>

その後、1つに進み、上記のpom親でモジュールを作成できます

于 2013-03-19T12:43:35.280 に答える
0

はい、それは可能です。それは一般的な方法です。この場合、packagingタイプは次のように設定する必要があります。pom

<packaging>pom</packaging>

タイプのあるプロジェクトには、またはディレクトリpomは必要ありません。単純な pom ファイルだけで十分です。srctest

親 pom ファイルをリリースおよびデプロイするには、 Maven Release Pluginを使用することをお勧めします: http://maven.apache.org/maven-release/maven-release-plugin/

于 2013-03-19T12:43:07.487 に答える