同学们,今天好。
我有一个多模块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>
我的问题是:
我不明白前两个罐子为什么这么重?
是否存在附加分类器的最简单方法?