java - 公司范围内的父 pom

标签 java maven

我可以为单父 pom 使用 mvn deploy 吗?这个 pom.xml 文件将成为我所有项目的父 pom。我可以只部署这个 pom.xml 文件而不部署其他 Artifact 吗?

如果我将其用作公司范围的 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>

最佳答案

是的,事实上这是减少项目 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

关于java - 公司范围内的父 pom,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15499733/

相关文章:

java - setSupportActionBar 删除菜单项

maven - gradle等效于mvn -Dmaven.repo.local =`pwd`/repo

Eclipse 在 pom.xml 文件 : cvc-datatype-valid. 1.2.1 中显示错误: '${MYVAR}' 不是 'boolean' 的有效值

java - 重写 "Java Effective"示例中泛型方法的绑定(bind)不匹配

java - Spring hibernate java.sql.SQLException : The result set is closed

java - 简单的 XML 框架 - 使用单个转换器转换继承的类

java - 在 OpenImaj 中查找 Caltech101 类和记录

java - 在 pom.xml 中生成 Maven 依赖项的简单方法?

java - 使用 mavengenerate 生成 Web 应用程序

java - 微服务资源管理