Mavenコマンドラインを使用して、1つのEXEファイルを展開しようとしています.ZipソースファイルはSonatype Nexusに圧縮されています。ファイルは SNAPSHOT として展開する必要があります。
だから、私は2つのファイルを持っています:
-testXYZ.exe and source file
-testXYZ.zip
ここで説明されているmaven 2.2.1とコマンドを使用:
mvn deploy:deploy-file -Durl=file:///home/me/m2-repo \
-DrepositoryId=some.repo.id \
-Dfile=./path/to/artifact-name-1.0.jar \
-DpomFile=./path/to/pom.xml \
-Dsources=./path/to/artifact-name-1.0-sources.jar \
-Djavadoc=./path/to/artifact-name-1.0-javadoc.jar
maven 2.2.1 は deploy-plugin v2.5 を使用しており、このコマンドは v2.7 までサポートされていないため、EXE をデプロイできますが、ソースをデプロイできません。新しいバージョンのmavenを使用することは許可されていないため、別のアプローチを試みます。
これら 2 つの後続のコマンドを使用して、これら 2 つのアーティファクトをデプロイできますが、ソースを nexus からダウンロードできません。
call mvn deploy:deploy-file -DgroupId=com.xyz -DartifactId=testXYZ -Dversion=1.1.116-SNAPSHOT -Dpackaging=zip -Dfile=testXYZ.zip -Dclassifier=sources -Durl=http://build:8081/nexus/content/repositories/snapshots -DrepositoryId=nexus
call mvn deploy:deploy-file -DgroupId=com.xyz -DartifactId=testXYZ -Dversion=1.1.116-SNAPSHOT -Dpackaging=exe -Dfile=testXYZ.exe -Durl=http://build:8081/nexus/content/repositories/snapshots -DrepositoryId=nexus
デプロイ後、testXYZ を検索し、アーティファクト ソースのダウンロード リンクをクリックします。ネクサス 言います:
「パス「com.xyz:testXYZ:1.1.116-SNAPSHOT:c=sources:e=jar」にアイテムが見つかりません!」
問題は、maven がこれらのアーティファクトをアップロードする方法です。
Line form log file while source is uploading:
Uploaded: http://build:8081/nexus/content/repositories/snapshots/com/xyz/testXYZ/1.1.116-SNAPSHOT/testXYZ-1.1.116-20120106.111705-1-sources.zip
Line form log file while Main artifact is uploading:
Uploaded: http://build:8081/nexus/content/repositories/snapshots/com/xyz/testXYZ/1.1.116-SNAPSHOT/testXYZ-1.1.116-20120106.111709-2.exe
111705-1 および 111705-2 に注意してください。Nexus が正しいリンクを生成できるようにするには、最後の番号を同じにする必要があります。
このアプローチについては、次で説明します。
Maven の deploy:deploy-file プラグインを使用してアーティファクト、そのソース、および javadoc をデプロイする
そしてここ:
http://maven.apache.org/plugins/maven-install-plugin/examples/installing-secondary-artifacts.html
固定バージョン(1.1.116など)では機能しますが、SNAPSHOTでは機能しません。
固定バージョンが使用されている場合、Exe および Zip ファイルを Nexus に展開できます (jar ファイルと同様)。
それで、質問は次のとおり です。アーティファクトとソースのスナップショットをコマンドラインからSonatype Nexusにデプロイし、ソースとアーティファクトのリンクをクリックしてこれらのファイルをダウンロードできることを確認する方法はありますか?
注: タイムスタンプのサフィックスを無効にすると、これは機能しますが、これはしたくありません。
-DuniqueVersion=false
ありがとう、
マルジャン