Ant*_*n K 3 java offline build offline-mode maven
问题是:你有一个压缩的java项目分布,它取决于几个库,如spring-core,spring-context,jacskon,testng和slf4j.任务是使事物可以脱机构建.可以使用所有必需的库jar创建项目范围的本地存储库.
我试过这样做.看起来即使项目包含javac和运行时所需的jar,构建仍然需要Internet访问.Maven仍然会潜入网络以获取构建所需的大部分自己的插件.我假设maven是使用空的.m2目录运行的(因为这可能是构建的第一次启动,可能是脱机构建).不,我不能在项目本身分发完整的maven repo快照,因为这看起来对我来说完全是混乱.
一点背景:更广泛的任务是创建Windows便携式JDK/IntelliJ Idea分布,它沿着项目进行,并允许在IDE内部进行一些最小的Java编码/运行,只需最少的配置和最少的Internet访问.该项目面向计算机课程的学生,对系统配置几乎没有控制权.最好保持控制台构建系统在离线模式下完好无损,但我想maven过分依赖于网络,所以我不得不放弃它以支持好老蚂蚁.
那么,您的意见是什么,我们可以完全在离线模式下移动第一个maven构建吗?我的直觉是,初始maven分布只包含从主要仓库中拉出必要插件所需的最低限度,并且如果没有看到主回购至少一次就不能完全正常运行.
Maven有一个'-o'开关,允许你离线构建:
-o,--offline Work offline
Run Code Online (Sandbox Code Playgroud)
当然,您需要将您的依赖项缓存到您的内容$HOME/.m2/repository中才能构建,而不会出现错误.您可以使用以下命令加载依赖项:
mvn dependency:go-offline
Run Code Online (Sandbox Code Playgroud)
我试过这个过程,似乎没有完全奏效.我做了一个:
rm -rf $HOME/.m2/repository
mvn dependency:go-offline # lot of stuff downloaded
# unplugged my network
# develop stuff
mvn install # errors from missing plugins
Run Code Online (Sandbox Code Playgroud)
什么做不过工作:
rm -rf $HOME/.m2/repository
mvn install # while still online
# unplugged my network
# develop stuff
mvn install
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2590 次 |
| 最近记录: |