如何在没有internet的情况下构建Java Maven项目
我正在尝试使用Eclipse插件将java项目转换为Maven项目。然而,我的工作环境不允许任何互联网连接,我不能在工作环境之外编译代码。我已经列出了原始Java项目中的所有引用库(我猜是依赖项库),我希望Maven能够从中获得这些库,而不是连接到internet。是否有一种方法可以在不连接internet的情况下构建Maven项目>您需要internet连接。Maven最初并不是自给自足的。它需要下载一堆插件以及它们的依赖项和您自己项目的依赖项。这实际上取决于你的项目有什么样的设置。一个设置将需要一组依赖项,另一个-一个完全不同的依赖项。您不能手动从Maven Central下载工件,然后在本地逐个安装。简单地说,这听起来很愚蠢 我知道你来自Ant世界,Ant在本地文件系统上拥有它所需要的一切。然而,Maven依赖于这样一个事实:它将拥有一个中央存储库(Maven central或您自己的存储库—Nexus、Artifactory等),从中下载所需的插件和依赖项。迁移到Maven没有任何意义,除非允许您访问中央Maven存储库 是的,事实上,您可以脱机运行Maven,并且可以让Maven生成一个本地存储库,供您在脱机模式下使用。然而,你试图做的是违背Maven的原则如何在没有internet的情况下构建Java Maven项目,java,eclipse,maven,gradle,offline,Java,Eclipse,Maven,Gradle,Offline,我正在尝试使用Eclipse插件将java项目转换为Maven项目。然而,我的工作环境不允许任何互联网连接,我不能在工作环境之外编译代码。我已经列出了原始Java项目中的所有引用库(我猜是依赖项库),我希望Maven能够从中获得这些库,而不是连接到internet。是否有一种方法可以在不连接internet的情况下构建Maven项目>您需要internet连接。Maven最初并不是自给自足的。它需要下载一堆插件以及它们的依赖项和您自己项目的依赖项。这实际上取决于你的项目有什么样的设置。一个设置将
如果您的公司不允许访问Maven Central,只需使用Ant即可。您的努力将浪费您公司的时间,最终也会浪费您自己的时间。您可以使用mvn install命令将每个jar添加到maven存储库,然后只对添加的jar使用依赖关系。如果您使用插件,您需要为它们做一些工作。您在internet上使用maven 1次,然后使用-o脱机使用maven(mvn-o安装)
mvn安装:安装文件-DgroupId=com.example-DartifactId=example-Dversion=1.0-dpacking=jar-Dfile=/path/to/jarfile
com.example
例子
1
Google获取创建私有Maven存储库的说明
。这应该会有帮助。我想说,你需要在第一次使用internet进行构建,这样maven就可以创建他的缓存(.m2
目录),然后,下一次它将在访问internet之前在缓存中搜索我的建议:不要指望有工具为你完成这项工作。坐下来阅读maven教程,学习如何手动创建maven设置。你似乎在一个复杂的环境中工作;因此,更好地理解在这种情况下使用maven的实际含义是什么。如果您没有internet访问权限,那么maven不是正确的工具。如果您可以在公司网络的另一个节点中设置代理maven central的maven存储库(Nexus/artifactory),则您的工作站上不需要internet。
mvn install:install-file -DgroupId=com.example -DartifactId=example -Dversion=1.0 -Dpackaging=jar -Dfile=/path/to/jarfile
<dependency>
<groupId>com.example</groupId>
<artifactId>example</artifactId>
<version>1.0</version>
</dependency>