我正在使用maven 3.0.5,我希望使用以下URL访问本地存储库 http://local.me/localrepo/
我运行的Apache Web服务器已经托管了一个svn,我可以使用http://local.me/projects访问svn项目
我在我的hosts文件中将local.me映射到127.0.0.1。
我想知道我是否也可以在线获取我的maven存储库。
请为此建议一些解决方案。
由于
答案 0 :(得分:0)
不幸的是,只有一个apache Web服务器似乎不足以使您的存储库通过HTTP读/写。您需要其他软件,“存储库管理器”。这里有一个列表:http://maven.apache.org/repository-management.html
您可以通过SSH在本地网络上创建存储库。这是怎么做的。
(1)在你的pom的构建部分:
<!-- Make SSH wagon available.-->
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh-external</artifactId>
</extension>
</extensions>
(2)在$ {USER_HOME} /。m2 / settings.xml中(或配置存储库URL的任何地方):
<repositories>
<repository>
<id>my-repository</id>
<url>scpexe://local.me/path/to/repository</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
</repository>
</repositories>
(3)在$ {USER_HOME} /。m2 / settings.xml中,在servers部分,配置ssh客户端将使用的用户名/密钥:
<server>
<id>my-repository</id>
<username>maven</username>
<privateKey>/home/bob/.ssh/id_rsa</privateKey>
</server>
这将在服务器上的path / path / to / repository中创建/使用一个存储库(看起来像你的本地存储库);没有必要在服务器端做任何其他事情,谢谢确保这个目录最初存在。
答案 1 :(得分:0)
可以设置任何Web服务器来提供Maven存储库。它实际上归结为简单地让Web服务器在本地文件系统上提供目录。裸Maven存储库没有涉及特殊逻辑。所有与Maven相关的元日期都存储在文件中。 Web服务器从Web服务器上的某个目录提供服务。
现在,棘手的部分是将内容上传到它。
免责声明:我还没有尝试过。但是..
根据documentation,可以使用file:/
url部署到maven存储库,并使Web服务器提供服务。还有another possible approach described here,它使用ftp将内容上传/部署到这样的Maven存储库。
但是,使用存储库管理器(例如Nexus或Archiva)可以更轻松地管理存储库。