如何配置 Maven 以进行脱机开发?
maven是否需要在某个时候连接到互联网才能使用它?意思是专门获取内部maven插件以进行编译,清洁,打包等?
maven是否需要在某个时候连接到互联网才能使用它?意思是专门获取内部maven插件以进行编译,清洁,打包等?
您可以在离线模式下运行 maven。当然,任何在本地存储库中不可用的工件都将失败。Maven并不依赖于分布式存储库,但它们肯定会使事情更加无缝。正是出于这个原因,许多商店使用与中央存储库增量同步的内部镜像。mvn -o install
此外,还可用于确保在开始脱机工作之前已在本地安装了所有依赖项。mvn dependency:go-offline
如果您的 LAN 中有一台可访问互联网的 PC,则应安装本地 Maven 存储库。
我推荐 Artifactory Open Source。这是我们在组织中使用的,它真的很容易设置。
Artifactory充当您的构建工具(Maven,Ant,Ivy,Gradle等)与外部世界之间的代理。
它缓存远程工件,因此您不必一遍又一遍地下载它们。
它阻止对内部工件的不需要的(有时是安全敏感的)外部请求,并控制工件的部署方式和位置以及部署对象。
设置 Artifactory 后,您只需要在开发计算机中更改 Maven:settings.xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<mirrors>
<mirror>
<mirrorOf>*</mirrorOf>
<name>repo</name>
<url>http://maven.yourorganization.com:8081/artifactory/repo</url>
<id>repo</id>
</mirror>
</mirrors>
<profiles>
<profile>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>libs-release</name>
<url>http://maven.yourorganization.com:8081/artifactory/libs-release</url>
</repository>
<repository>
<snapshots />
<id>snapshots</id>
<name>libs-snapshot</name>
<url>http://maven.yourorganization.com:8081/artifactory/libs-snapshot</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>plugins-release</name>
<url>http://maven.yourorganization.com:8081/artifactory/plugins-release</url>
</pluginRepository>
<pluginRepository>
<snapshots />
<id>snapshots</id>
<name>plugins-snapshot</name>
<url>http://maven.yourorganization.com:8081/artifactory/plugins-snapshot</url>
</pluginRepository>
</pluginRepositories>
<id>artifactory</id>
</profile>
</profiles>
<activeProfiles>
<activeProfile>artifactory</activeProfile>
</activeProfiles>
</settings>
我们之所以使用此解决方案,是因为我们的开发计算机中存在 Internet 访问问题,并且某些工件下载了损坏的文件或根本没有下载。从那以后,我们再也没有遇到过问题。