Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.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/4/matlab/13.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
如何连接本地archiva存储库并在Eclipse中创建maven项目?_Maven_Offline_Maven Archetype_Archiva - Fatal编程技术网

如何连接本地archiva存储库并在Eclipse中创建maven项目?

如何连接本地archiva存储库并在Eclipse中创建maven项目?,maven,offline,maven-archetype,archiva,Maven,Offline,Maven Archetype,Archiva,我在我的项目上没有internet访问权限,正在尝试部署archiva并使用它离线创建maven项目。 因此,我下载了ApacheArchiva并将其部署在本地计算机上。 然后,我用这个设置创建了本地存储库。 然后我更改了maven文件夹中的settings.xml <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xm

我在我的项目上没有internet访问权限,正在尝试部署archiva并使用它离线创建maven项目。 因此,我下载了ApacheArchiva并将其部署在本地计算机上。 然后,我用这个设置创建了本地存储库。

然后我更改了maven文件夹中的settings.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
    http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>C:/MavenRepository/.m2/repository</localRepository>
<pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<servers>
</servers>
<mirrors>
    <mirror>
        <id>local.repository</id>
        <name>test repo</name>

    <url>http://localhost:8888/archiva/repository/local.repository</url>
        <mirrorOf>*</mirrorOf>
    </mirror>
</mirrors>
<profiles>
    <profile>
        <id>local</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>

        <repositories>
            <repository>
                <id>local.repository</id>
                <name>local.repository</name>

     <url>http://localhost:8888/repository/local.repository/</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>local.repository</id>
                <name>local.repository</name>

   <url>http://localhost:8888/repository/local.repository/</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </pluginRepository>
        </pluginRepositories>
    </profile>
</profiles>
    </settings>

C:/MavenRepository/.m2/存储库
本地存储库
测试回购
http://localhost:8888/archiva/repository/local.repository
*
地方的
真的
本地存储库
本地存储库
http://localhost:8888/repository/local.repository/
真的
假的
本地存储库
本地存储库
http://localhost:8888/repository/local.repository/
真的
假的
然后尝试在eclipse中的maven设置中添加原型目录,但显示远程目录为空 .
要获得正确的原型以在eclipse中创建maven项目,我需要做什么?

您创建了一个新的maven存储库。它是空的。然后在
settings.xml
中将其定义为镜像。这意味着所有请求(包括针对原型的请求)都将转到一个空存储库

当您尝试使用Maven构建任何东西时,也会发生同样的情况。Maven将尝试从Maven存储库下载大量插件、JAR、POM等,但将失败


你需要在某处连接互联网。例如,您可以将archiva连接到MavenCentral,构建项目,然后关闭连接。或者,您可以在另一台计算机上执行此操作,并将工件从一台archiva复制到另一台archiva。

在使用archiva或Nexus创建maven项目之前,您必须为maven进行以下设置

  • 转到Maven安装文件夹,打开文件/conf/settings.xml,并为Archiva添加以下内容
  • 
    内部的
    代理缓存-内部存储库
    http://localhost:8080/archiva/repository/internal
    *
    
  • 使用本地maven设置配置eclipse。转到Eclipse中的preference,preference>Maven>Installation并为Eclipse添加本地Maven设置,以便Eclipse了解本地设置
  • 然后使用本地maven setting.xml在eclipse中配置用户设置。转到Preference>Maven>User Settings并单击Browse按钮,从Maven安装文件夹中选择/conf/Settings.xml文件

  • 最后,您可以尝试创建一个maven项目或导入一个maven项目。

    切勿更改
    conf/settings.xml
    中的
    settings.xml
    。如果需要新设置,请将
    settings.xml
    放入用户目录中的
    .m2
    文件夹。这就是OP已经做的。老实说,我更改了maven安装目录中的setting.xml文件…我可以将原型添加到本地maven存储库中,并尝试在eclipse中创建项目而不连接到internet吗?可能吗?也许我需要在我的计算机上的.m2文件夹中添加archetype-catalog.xml?你能更喜欢关于将工件从一个archiva复制到另一个archiva的更多信息吗?我应该怎么做?您可以将原型添加到您的本地存储库中,它会起作用,但是这些原型有依赖项,它们本身有依赖项,那些也有依赖项。如果你试图用手去弄清楚,你可能会花两周的时间来复制工件。2.我没有和阿奇瓦打交道的经验。如今,人们大多使用Nexus或Artifactory(两者都有免费版本)。在Nexus2中,您可以将存储目录从一台计算机复制到另一台计算机。在其他存储库中,这通常更加困难。我给你一个警告:很难管理“脱机”Maven存储库,因为每次你更改项目依赖项时,你都需要再次将大量内容从MavenCentral复制到脱机存储库。我试着写一个脚本来计算你需要复制什么,但是它只有90%的正确率,而且通常我会针对离线Maven存储库构建一个项目10次(总是因为缺少一些工件而失败),直到我得到我需要的一切。好吧,所以我们还是需要互联网连接。如果我们创建具有internet访问权限的本地maven存储库,我会从eclipse开始看到maven原型吗?在看到它们之前,我应该采取哪些步骤?您是否建议在直接访问maven存储库的计算机上创建项目,然后将其复制到另一台不访问internet的计算机上,并使用本地存储库?谢谢你的回答,非常感谢。