POM

    xiaoxiao2021-03-25  108

    POM(Project Object Model)
    1.Minimal POM
    <project> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <version>1</version> </project>
    2.Default
    如果configuration细节未指定,mvn会使用默认的配置,比如packaging type默认为jar。如果repositories未指定默认下载dependencies from http://repo.maven.apache.org/maven2
    3.Project Inheritance
        使用<parent></parent>来继承,如果不写groupId / version of modules,自动继承父类的。 . |-- my-module | `-- pom.xml `-- pom.xml <project> <parent> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <version>1</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>my-module</artifactId> </project>     如果父类的pom.xml不在该module的上级目录或者不在local repository,则要使用<relativePath></relativePath>指定目录 . |-- my-module | `-- pom.xml `-- parent `-- pom.xml <project> <parent> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <version>1</version> <relativePath>../parent/pom.xml</relativePath> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>my-module</artifactId> </project>
    4. Project Aggregation
    不是在module中指定父POM,而是在父POM中指定module com.mycompany.app:my-app:1's POM <project> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <version>1</version> </project> com.mycompany.app:my-module:1's POM <project> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-module</artifactId> <version>1</version> </project> directory structure . |-- my-module | `-- pom.xml `-- pom.xml The Solution <project> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <version>1</version> <packaging>pom</packaging> <modules> <module>my-module</module> </modules> </project> 如果不是正常目录,要指定目录 . |-- my-module | `-- pom.xml `-- parent `-- pom.xml <project> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <version>1</version> <packaging>pom</packaging> <modules> <module>../my-module</module> </modules> </project>
    5.Project Interpolation and Variables
    <version>${project.version}</version> <project> ... <properties> <maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss'Z'</maven.build.timestamp.format> </properties> ... </project> <project> <parent> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <version>1</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>my-module</artifactId> </project> <project> <parent> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <version>1</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>my-module</artifactId> </project>
    转载请注明原文地址: https://ju.6miu.com/read-18627.html

    最新回复(0)