11

-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同時に導入したい。2 番目のファイル エントリと 2 番目のデプロイ プラグインを追加しようとしました。いずれかのファイルが展開されているようです。

ソースをデプロイするためだけに 2つdeploy:deploy-file目のチーム シティ ビルドをセットアップする必要がありますか?

4

3 に答える 3

8

を使用するmaven-source-pluginと、生成された jar が自動的にプロジェクト アーティファクトにアタッチされ (このパラメーターのデフォルト設定は「true」)、実行する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でこの質問を見つけました。そこで提案された回避策を使用できます。

于 2012-02-20T12:20:17.763 に答える
4

deploy:deploy-fileメインの JAR アーティファクトと一緒に複数の JAR (ソース、テスト、ドキュメント) をアップロードするために使用できます。その追加情報をdeploy:deploy-fileプラグイン呼び出しに提供する必要があるだけです。追加は、以下のコマンドで太字で示されています。

mvn deploy:deploy-file
-Dfile=helloWorld.jar
-Durl=https://localhost/nexus/content/repositories/snapshots/
-DrepositoryId=snapshot
-Dfiles=helloWorld-6.4.1.3.SNAPSHOT-sources.jar,helloWorld- 6.4.1.3.SNAPSHOT-tests.jar
-Dtypes=jar,jar -Dclassifiers=sources,tests
-DgroupId=com
-DartifactId=helloWorld
-Dversion=6.4.1.3.SNAPSHOT
-Dpackaging=jar
-Dpomfile=pom.xml

  • コンマで区切られたファイルのリストを指定する必要があります。
  • これらの追加ファイルのタイプを指定する必要があります。
  • これらの追加ファイルの分類子情報を追加する必要があります。
于 2016-12-21T19:46:33.290 に答える
1

mvn deploy:deploy-file単一のアーティファクトのみをデプロイします。代わりにmvn deploy(を呼び出すmvn deploy:deploy) を使用して、アーティファクト、その pom をアタッチされたアーティファクト (ソースや javadoc など) と共にデプロイできます。maven deploy pluginの目標の概要を参照してください。

于 2012-02-20T16:53:56.193 に答える