我想创建本地maven存储库。我做了以下步骤:
在我提供的项目pom.xml中
<repositories>
<repository>
<id>repository</id>
<url>http://<my-domain>/localMavenRepository</url>
</repository>
</repositories>
但它没有解决http://&lt;上的罐子。我的域&GT; / localMavenRepository
是否需要提供存储库?
答案 0 :(得分:48)
我必须反对斯坦利,它应该这样工作。虽然Stanley链接引导了更强大的设置,但如果您只需要一个非常基本的简单存储库,那么只有具有默认配置的Apache可以提供存储库。
要设置内部存储库,只需要有一个放置它的位置,然后使用与远程存储库(如repo.maven.apache.org)中相同的布局开始复制所需的工件。 Source
关键是你需要正确的文件夹结构,虽然文档没有明确提及它......它与本地存储库的结构相同。
将文件添加到您的存储库,如下所示:
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/
,这将导致&#34; YOUR_JAR.jar&#34;在配置有<url>http://example.com/mavenRepository</url>
答案 1 :(得分:32)
您不能以这种方式创建私有存储库。看看这篇文章:http://www.theserverside.com/news/1364121/Setting-Up-a-Maven-Repository。
我正在使用Artifactory Open Source版本。
答案 2 :(得分:1)
另一种方法是将您的jar包含在本地 maven存储库中。
有关简单示例,请参阅here。
答案 3 :(得分:0)
如果maven没有创建本地存储库,即.m2 / repository文件夹,请尝试以下步骤。
在您的Eclipse \ Spring工具套件中,转到窗口->首选项-> maven->用户设置->单击恢复默认值->应用->应用并关闭
答案 4 :(得分:0)
可以!对于仅发布/检索工件的简单存储库,可以使用nginx。
确保nginx has http dav module enabled应该,但仍然要对其进行验证。
Configure nginx http dav module:
在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存储库。