我正在尝试使用Netbeans构建现有项目。 IDE和插件已安装在无法访问互联网的系统上。
当我尝试在IDE中构建一个简单项目时,Mavan尝试连接到互联网以下载“ exec-maven-plugin-1.2.1.pom”,并且由于此失败,整个构建过程失败了。
目前,我已经创建了一个非常简单的应用程序,只有一行:
public static void main(String[] args) {
System.out.println("Hello Simon!");
}
答案 0 :(得分:2)
您可以使用-o开关在离线mod中运行maven。这样,maven将仅查找本地m2文件夹。 (我假设您在m2文件夹中拥有项目所需的所有依赖项和插件。)示例命令mvn -o package
如果要从netbeans使用它,则必须创建自定义操作。以下链接说明了如何进行。您应该为Clean and Build project
选择Actions
并将-o
添加到Execute Goals
部分的开头。
作为旁注:如果您打算以这种方式在团队中开发应用程序,我建议设置一个内部存储库管理器。有很多免费的替代产品,例如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多个文件才能正常运行。