代码之家  ›  专栏  ›  技术社区  ›  Александр Шаповалов

Maven多模块项目使用分类器部署到工件

  •  0
  • Александр Шаповалов  · 技术社区  · 7 年前

    同学们,今天好。 我有一个多模块Maven项目,类似于:

    bigdata
      core
        pom
      operations
        pom
      runner
        pom
    pom(main)
    

    我有当地和Hadoop环境。我需要部署两个版本,一个用于Hadoop,一个用于本地。我想使用Maven分类器。我尝试使用maven jar插件。它可以用,但我有三个JAR文件。例如:

    核心-1.0.4-本地-58kb core-1.0.4集群-64kb 核心-1.0.4-27MB

    对于其他人来说,包装同样的情况。 我使用Gitlab CI部署到Artifactory。这是来自Ci.Yaml的:

      script:
      # Run the MVN command
      - ./jfrog rt mvn "versions:set -DgenerateBackupPoms=false -Dartifactory.publish.artifacts=false -DnewVersion="${CI_COMMIT_TITLE}" -Phadoop" configuration.yml --build-name=multirating-bigdata --build-number=$CI_JOB_ID
      - ./jfrog rt mvn "clean install -Phadoop" configuration.yml --build-name=multirating-bigdata --build-number=$CI_JOB_ID
      # Collect the environment variables
      - ./jfrog rt bce multirating-bigdata $CI_JOB_ID
      # Pass the build information to Artifactory
      - ./jfrog rt bp multirating-bigdata $CI_JOB_ID
    

    我用的是像这样的东西( How to manage artifactory / maven artifact using different profiles ):

    <profiles>
         <profile>
             <id>profile1</id>
             ...
             <build>
                 <plugins>
                     <plugin>
                         <groupId>org.apache.maven.plugins</groupId>
                         <artifactId>maven-jar-plugin</artifactId>
                         <version>2.4</version>
                         <executions>
                           <execution>
                           <phase>package</phase>
                           <goals>
                             <goal>jar</goal>
                           </goals>
                           <configuration>
                              <classifier>jdk6</classifier>
                           </configuration>
                          </execution>
                         </executions>
                     <plugin>
                 <plugins>
             </build>
         </profile>
         <profile>
             <id>profile2</id>
             ...
             <build>
                 <plugins>
                     <plugin>
                         <groupId>org.apache.maven.plugins</groupId>
                         <artifactId>maven-jar-plugin</artifactId>
                         <version>2.4</version>
                         <executions>
                           <execution>
                           <phase>package</phase>
                           <goals>
                             <goal>jar</goal>
                           </goals>
                           <configuration>
                              <classifier>jdk7</classifier>
                           </configuration>
                          </execution>
                         </executions>
                     <plugin>
                 <plugins>
             </build>
         </profile>
    </profiles>
    

    我的问题是:

    我不明白前两个罐子为什么这么重? 是否存在附加分类器的最简单方法?

    0 回复  |  直到 7 年前