我有以下用于创建-sources.jar并将特定的命名jar部署到存储库的插件。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-source-plugin</artifactId>
    <executions>
        <execution>
            <id>attach-sources</id>
            <goals>
                <goal>jar</goal>
            </goals>
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-deploy-plugin</artifactId>
    <version>2.5</version>
    <configuration>
        <version>${project.version}-r${buildNumber}</version>
        <classifier>${env}</classifier>
        <packaging>jar</packaging>
        <file>${project.build.directory}/${project.build.finalName}.jar</file>
        <url>${artifactory.url}/libs-release-local</url>
        <repositoryId>artifactory.digiterre.com</repositoryId>
        <pomFile>${project.basedir}/pom.xml</pomFile>
    </configuration>
</plugin>

我希望同时部署*-sources.jar。我尝试添加第二个文件条目,甚至添加第二个deploy插件。我似乎已经部署了一个或其他文件。

是否可以使用deploy:deploy-file一次部署两个版本,还是我仅为了部署源就必须建立第二个团队城市版本?

最佳答案

当您使用maven-source-plugin时,生成的jar将自动附加到项目 Artifact (this参数的默认设置为'true'),如果您执行deploy,它将与它一起部署。 las,无需单独配置deploy插件。

不幸的是,您不能将分类器(在您的情况下为${env})添加到源jar中。这就是为什么我要使用以下配置:

...
<artifactId>com.pie.mash.repo.mince-${env}</artifactId>
<version>1.18-r${buildNumber}</version>
...
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-source-plugin</artifactId>
      <version>2.1.2</version>
      <executions>
        <execution>
          <goals>
            <goal>jar-no-fork</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

另外,我在SO上找到了this问题。您可以使用此处建议的解决方法。

10-07 19:30
查看更多