Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在局域网上托管本地maven存储库_Maven_Apache2_Repository - Fatal编程技术网

在局域网上托管本地maven存储库

在局域网上托管本地maven存储库,maven,apache2,repository,Maven,Apache2,Repository,我使用的是maven 3.0.5,我希望使用以下url访问本地存储库 我有一个ApacheWeb服务器正在运行,它已经托管了一个svn,我可以使用 我已将local.me映射到主机文件中的127.0.0.1 我想知道我是否也可以在线获取我的maven存储库 请为同样的问题提出一些解决方案 谢谢不幸的是,仅仅一个apache web服务器似乎不足以使您的存储库通过HTTP进行读/写。您需要额外的软件,即“存储库管理器”。这里有一个列表: 您可以通过SSH使本地网络上的存储库可用。以下是如何做到这

我使用的是maven 3.0.5,我希望使用以下url访问本地存储库

我有一个ApacheWeb服务器正在运行,它已经托管了一个svn,我可以使用

我已将local.me映射到主机文件中的127.0.0.1

我想知道我是否也可以在线获取我的maven存储库

请为同样的问题提出一些解决方案


谢谢

不幸的是,仅仅一个apache web服务器似乎不足以使您的存储库通过HTTP进行读/写。您需要额外的软件,即“存储库管理器”。这里有一个列表:

您可以通过SSH使本地网络上的存储库可用。以下是如何做到这一点。
(1) 在pom的构建部分:

    <!-- Make SSH wagon available.-->
    <extensions>
        <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ssh-external</artifactId>
        </extension>
    </extensions>

org.apache.maven.wagen
货车ssh外部
(2) 在${USER_HOME}/.m2/settings.xml中(或配置存储库URL的任何位置):


我的存储库
scpexe://local.me/path/to/repository
真的
总是
失败
真的
总是
失败
(3) 在${USER_HOME}/.m2/settings.xml的服务器部分,配置ssh客户端将使用的用户名/密钥:

    <server>
        <id>my-repository</id>
        <username>maven</username>
        <privateKey>/home/bob/.ssh/id_rsa</privateKey>
    </server>

我的存储库
专家
/home/bob/.ssh/id\u rsa

这将在服务器上的路径/path/to/repository处创建/使用一个存储库(看起来像您的本地存储库);无需在服务器端执行任何操作,只需确保此目录最初存在。

可以设置任何web服务器来为Maven存储库提供服务。它实际上可以简单地让web服务器在本地文件系统上提供一个目录。对于裸Maven存储库,没有特殊的逻辑。所有与Maven相关的元日期都存储在文件中。web服务器从web服务器上的某个目录为它们提供服务

现在,棘手的部分是上传内容到它

免责声明:我还没有试过。但是

根据,可以简单地使用
文件:/
url部署到maven存储库,并由web服务器提供位置服务。还有,它使用ftp将内容上传/部署到这样的Maven存储库


但是,使用存储库管理器(如Nexus或Archiva)可以更轻松地管理存储库。

感谢您显示存储库URL的格式-在文档中找不到它。只是我不明白你为什么说需要一个存储库管理器。显然不是。我相信您需要一个存储库管理器来通过HTTP服务(和更新)存储库对象。上面展示了如何在没有存储库管理器的情况下通过SSH实现这一点。任何web服务器都可以通过HTTP/HTTPS.Gunnar为Maven存储库提供服务:在这种情况下,请提供链接/参考。谢谢。通过HTTP(本地或远程)提供工件和元数据服务并接受工件上传的读/写存储库似乎需要额外的软件。据我所知,链接的文档声明可以通过HTTP协议访问远程回购,但没有描述如何配置裸HTTP服务器来访问远程回购。我认为许多链接存储库管理器(Nexus、Archiva)通过HTTP为repo提供服务,但这并不意味着一个简单的Apache服务器本身就可以这样做。不管怎样,当我给出一个你似乎投了反对票的广泛答案时,我找不到如何做到这一点。如果你能找到这样的描述,请链接它。如果不是的话,我的答案可能对一些人仍然有用,投票支持可能会帮助他们找到答案。干杯,谢谢你的反馈,基思。我添加了更多的措辞,希望能让它更清楚。不需要特殊的脚本或软件。web服务器所需要做的就是为包含Maven存储库的本地目录提供服务器。内容应部署到该本地目录viefile:///... 如果您具有对web服务器文件系统的本地访问权限,则为存储库url。否则,可以使用ssh或ftp等协议。但它们需要在服务器上运行特殊的软件。
    <server>
        <id>my-repository</id>
        <username>maven</username>
        <privateKey>/home/bob/.ssh/id_rsa</privateKey>
    </server>