Maven内网使用问题

发布于 2022-01-07 21:50:16 字数 345 浏览 791 评论 8

最近在学习使用Maven,但是因为公司规定导致,只可以在内网环境进行开发。

因为Maven所有的操作都基于插件进行,而官网上是不提供包含了所有插件的Maven下载的,只能下载完成之后,进行mvn 操作再进行插件下载。

因为网络限制,所以我考虑的是,在外网机器上安装Maven,执行了mvn 操作之后,将 repository目录下的插件拷贝到内网使用。

但是蛋疼的问题来了,拷贝完成之后,执行mvn操作还是会提示download,同时操作失败。

想问一下各位在使用maven进行日常开发的时候,是如何规避这样的问题的!

另:因为网络隔绝,所以用代理的方式也是不可行的!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

为你鎻心 2022-01-08 00:37:14

大师你的问题最后怎么解决 的

飘然心甜 2022-01-08 00:35:53

添加下面的设置到你的/.m2/settings.xml

1. 优先考虑本地

<profile>
    <id>local</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <repositories>
        <repository>
            <id>local</id>
            <name>Local Repository</name>
            <url>https://localhost:8081/nexus/content/groups/public</url>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>daily</updatePolicy>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>local</id>
            <name>Local Repository</name>
            <url>https://localhost:8081/nexus/content/groups/public</url>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>interval:30</updatePolicy>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>
</profile>

2.全部通过本地

<mirrors>
    <mirror>
        <id>nexus-local-mirror</id>
        <name>Nexus local mirror</name>
        <url>http://localhost:8081/nexus/content/groups/public</url>
        <mirrorOf>*</mirrorOf>
    </mirror>      
</mirrors>
执手闯天涯 2022-01-08 00:34:22

算是家大公司吧,公司制度如此,也没法通过谁去通融。 允许我做一个悲伤的表情。

吃颗糖壮壮胆 2022-01-08 00:33:21

在 copy 之前,需要执行完整的 lifecycle,比如 1. mvn clean 2. mvn deploy 3. mvn site 这样才能保证所有的插件和依赖包全部下载完成,然后在copy .m2 目录

笑红尘 2022-01-08 00:31:37

回复
我执行了一次mvn clean之后,clean插件是已经下载的,拷贝插件后,内网执行clean还是提示会下载。 其他的所有插件也都下载完了,拷贝进去之后,还是会提示下载。

彩扇题诗 2022-01-08 00:27:22

回复
确保你的 maven 的版本一致, 不同的maven 默认使用的插件版本号是不一样的。

筱武穆 2022-01-08 00:26:41

回复
同为3.3.3版本

眼泪淡了忧伤 2022-01-07 23:29:36

日常开发的时候,在公司内部搭建一个私服,仅需要私服一台电脑访问外网。

如果你们公司完全限制网络访问,用拷贝的方法应该也是可以的。repository目录下放的一般是dependency的jar包,而插件一般放在用户目录的.m2文件夹下,所以该目录也要拷贝。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文