ローカルのMavenリポジトリを作成したい。次の手順を実行しました。
私のプロジェクトpom.xmlで私が提供しました
<repositories>
<repository>
<id>repository</id>
<url>http://<my-domain>/localMavenRepository</url>
</repository>
</repositories>
しかし、http:// <my-domain>/localMavenRepositoryにあるjarを解決していません
リポジトリを提供する必要はありますか?
そのようにしてプライベートリポジトリを作成することはできません。この記事をご覧ください: http://www.theserverside.com/news/1364121/Setting-Up-a-Maven-Repository 。
Artifactory Open Source versionを使用しています。
私はスタンレーに反対しなければなりません、それはこのように働くはずです。スタンリーリンクの記事はより強力なセットアップにつながりますが、非常に基本的なシンプルなリポジトリだけが必要な場合は、デフォルト構成のApacheだけでリポジトリを提供できます。
内部リポジトリを設定するには、リポジトリを配置する場所が必要です。repo.maven.Apache.orgなどのリモートリポジトリと同じレイアウトを使用して、そこに必要なアーティファクトのコピーを開始するだけです。 ソース
重要なのは、正しいフォルダー構造が必要であり、ドキュメントでは明示的に言及されていないことです...これは、ローカルリポジトリと同じ構造です。
次のようにファイルをリポジトリに追加します。
mvn install:install-file -Dfile=YOUR_JAR.jar -DgroupId=YOUR_GROUP_ID -DartifactId=YOUR_ARTIFACT_ID -Dversion=YOUR_VERSION -Dpackaging=jar -DlocalRepositoryPath=/var/www/html/mavenRepository
Apacheのexample.comのドキュメントルートが/var/www/html/
であると仮定すると、<url>http://example.com/mavenRepository</url>
で構成されたリポジトリ上のmavenで "YOUR_JAR.jar"が使用可能になります。
はい、できます!アーティファクトのみを公開/取得するシンプルなリポジトリの場合、nginxを使用できます。
nginxでhttp davモジュールが有効になっている であることを確認してください。ただし、確認する必要があります。
Windowsの場合:d:\ servers\nginx\nginx.conf
location / {
# maven repository
dav_methods PUT DELETE MKCOL COPY MOVE;
create_full_put_path on;
dav_access user:rw group:rw all:r;
}
Linux(Ubuntu)の場合:/ etc/nginx/sites-available/default
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
# try_files $uri $uri/ =404; # IMPORTANT comment this
dav_methods PUT DELETE MKCOL COPY MOVE;
create_full_put_path on;
dav_access user:rw group:rw all:r;
}
リポジトリが配置されるディレクトリにアクセス許可を与えることを忘れないでください:
Sudo chmod +777 /var/www/html/repository
プロジェクトのpom.xml
にそれぞれの構成を追加します。
アーティファクトの取得:
<repositories>
<repository>
<id>repository</id>
<url>http://<your.ip.or.hostname>/repository</url>
</repository>
</repositories>
成果物の公開:
<build>
<extensions>
<extension>
<groupId>org.Apache.maven.wagon</groupId>
<artifactId>wagon-http</artifactId>
<version>3.2.0</version>
</extension>
</extensions>
</build>
<distributionManagement>
<repository>
<id>repository</id>
<url>http://<your.ip.or.hostname>/repository</url>
</repository>
</distributionManagement>
成果物を公開するには、mvn deploy
を使用します。アーティファクトを取得するには、mavenが自動的に行います。
そして、そこには単純なMavenリポジトリがあります。
別の方法は、jarをlocalmavenリポジトリに含めることです。
簡単な例については、 here をご覧ください。
MavenがLocal Repositoryを作成していない場合、つまり.m2/repositoryフォルダーの場合、以下の手順を試してください。
Eclipse\Spring Tool Suiteで、Window-> preferences-> maven-> user settings-> Restore Defaults-> Apply-> Applyを選択して、閉じる