pbh*_*hle 53 maven-2 maven mvn-repo
我想创建本地maven存储库.我做了以下步骤:
在我提供的项目pom.xml中
<repositories>
<repository>
<id>repository</id>
<url>http://<my-domain>/localMavenRepository</url>
</repository>
</repositories>
Run Code Online (Sandbox Code Playgroud)但它不能解析http:// <my-domain>/localMavenRepository上的jar
有没有必要提供存储库?
yan*_*kee 50
我必须反对斯坦利,它应该这样工作.虽然Stanley链接引导了更强大的设置,但如果您只需要一个非常基本的简单存储库,那么只有具有默认配置的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
Run Code Online (Sandbox Code Playgroud)
假设您的Apache上的example.com的文档根目录/var/www/html/会导致"YOUR_JAR.jar"在配置了<url>http://example.com/mavenRepository</url>
Sta*_*ley 33
您不能以这种方式创建私有存储库.看看这篇文章:http://www.theserverside.com/news/1364121/Setting-Up-a-Maven-Repository.
我正在使用Artifactory Open Source版本.
是的你可以!对于仅发布/检索工件的简单存储库,您可以使用 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;
}
Run Code Online (Sandbox Code Playgroud)
在 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;
}
Run Code Online (Sandbox Code Playgroud)
不要忘记授予 repo 所在目录的权限:
sudo chmod +777 /var/www/html/repository
在您的项目中pom.xml添加相应的配置:
检索工件:
<repositories>
<repository>
<id>repository</id>
<url>http://<your.ip.or.hostname>/repository</url>
</repository>
</repositories>
Run Code Online (Sandbox Code Playgroud)
发布工件:
<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>
Run Code Online (Sandbox Code Playgroud)要发布工件,请使用mvn deploy. 要检索工件,maven 会自动完成。
你有一个简单的maven repo。
| 归档时间: |
|
| 查看次数: |
113513 次 |
| 最近记录: |