maven ローカルリポジトリ依存関係をリモートリポジトリにアップロード#
ローカルリポジトリをリモートリポジトリにアップロード
バッチアップロード:
バッチローカルリポジトリ依存関係(jar ファイル)アップロードスクリプト:
#!/bin/bash
# このスクリプトをファイルを含むリポジトリディレクトリのルートにコピーして実行します
# このスクリプトは自分自身のアップロードを明示的に除外しようとするため、スクリプト名が重要です
# コマンドラインパラメータを取得
while getopts ":r:u:p:" opt; do
case $opt in
r) REPO_URL="$OPTARG"
;;
u) USERNAME="$OPTARG"
;;
p) PASSWORD="$OPTARG"
;;
esac
done
find . -type f -not -path './mavenimport\.sh*' -not -path '*/\.*' -not -path '*/\^archetype\-catalog\.xml*' -not -path '*/\^maven\-metadata\-local*\.xml' -not -path '*/\^maven\-metadata\-deployment*\.xml' | sed "s|^\./||" | xargs -I '{}' curl -u "$USERNAME:$PASSWORD" -X PUT -v -T {} ${REPO_URL}/{} ;
maven ローカルリポジトリディレクトリに batch_upload_repo2.sh スクリプトを作成し、上記の内容をスクリプトファイルに追加します
maven ローカルリポジトリディレクトリで、右クリックして git に付属の git bash Here コマンドウィンドウを開きます:
次のコマンドを実行します:
sh batch_upload_repo2.sh -u admin -p nxg_123456 -r http://localhost:8081/repository/nxgtest/
sh スクリプト名.sh -u ユーザー名 -p パスワード -r http://localhost:8081/repository/ リポジトリ名
実行完了時の結果は以下の通りです:
注意事項#
ローカル maven リポジトリディレクトリ内のすべての .lastUpdated ファイルを削除します
アップロードに失敗した場合は、ローカル maven リポジトリディレクトリ内のすべての _remote.repositories ファイルを削除できます
添付資料#
参考:
ローカルリポジトリのすべての Jar を Nexus にバッチアップロード
自動化スクリプトに基づいて依存関係を nexus 内網私服にバッチアップロード