Netbeans和Maven,如何阻止Maven尝试下载?

时间:2019-01-28 16:03:15

标签: java maven

我正在尝试使用Netbeans构建现有项目。 IDE和插件已安装在无法访问互联网的系统上。

当我尝试在IDE中构建一个简单项目时,Mavan尝试连接到互联网以下载“ exec-maven-plugin-1.2.1.pom”,并且由于此失败,整个构建过程失败了。

目前,我已经创建了一个非常简单的应用程序,只有一行:

    public static void main(String[] args) {
        System.out.println("Hello Simon!");
    }

2 个答案:

答案 0 :(得分:2)

您可以使用-o开关在离线mod中运行maven。这样,maven将仅查找本地m2文件夹。 (我假设您在m2文件夹中拥有项目所需的所有依赖项和插件。)示例命令mvn -o package

如果要从netbeans使用它,则必须创建自定义操作。以下链接说明了如何进行。您应该为Clean and Build project选择Actions并将-o添加到Execute Goals部分的开头。

https://blogs.oracle.com/geertjan/configuring-running-specific-methods-in-maven-projects-in-netbeans-ide

作为旁注:如果您打算以这种方式在团队中开发应用程序,我建议设置一个内部存储库管理器。有很多免费的替代产品,例如Artifactory和Sonatype Nexus。

https://maven.apache.org/guides/introduction/introduction-to-repositories.html

答案 1 :(得分:0)

请注意,使用Maven进行“没有Internet”构建并非易事。我们是通过以下方式完成的:

  • 设置连接到互联网的Nexus,并针对它建立一个项目。为了获得固定版本的插件,我们设置了一个父pom,供每个maven项目使用。

  • 将缓存的工件从在线Nexus复制到Nexus的离线实例。现在,您可以将Maven连接到此离线Nexus,并可以构建项目。确保再次使用父pom,以便所有插件版本均已修复。

请注意,如果“只是离线构建项目”,则构建将失败,因为“缺少XY插件”。当您下载此插件并将其安装到本地存储库或离线Nexus时,肯定会缺少下一个插件。等等。等等。即使是没有任何实际Java代码的最小Maven项目,也需要MavenCentral提供100多个文件才能正常运行。