Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.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
如何在没有internet的情况下构建Java Maven项目_Java_Eclipse_Maven_Gradle_Offline - Fatal编程技术网

如何在没有internet的情况下构建Java Maven项目

如何在没有internet的情况下构建Java Maven项目,java,eclipse,maven,gradle,offline,Java,Eclipse,Maven,Gradle,Offline,我正在尝试使用Eclipse插件将java项目转换为Maven项目。然而,我的工作环境不允许任何互联网连接,我不能在工作环境之外编译代码。我已经列出了原始Java项目中的所有引用库(我猜是依赖项库),我希望Maven能够从中获得这些库,而不是连接到internet。是否有一种方法可以在不连接internet的情况下构建Maven项目>您需要internet连接。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的原则


如果您的公司不允许访问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>