Maven存储库中的JRE 1.6(公共或私有)
我们可以在Nexus中代理一些公共Maven存储库中是否有JRE 1.6?
如果没有,有人可以提供一个关于如何将JRE部署到Maven存储库的提示吗?
这是我找到的解决方案:
- 压缩JRE(在我的情况下为jre-linux32-1.6.0.23.zip和jre-jre-win32-1.6.0.zip)。
- 通过Web UI将它们上传到您的Nexus存储库(或使用“mvn”手动部署),设置工件参数:groupid =“oracle”artifactid =“jre-win32”/“jre-linux32”,设置正确的版本和包装类型“压缩”。
-
修改你的pom.xml以在构建期间下载并解压缩依赖关系(我将它绑定到“prepare-package”阶段)。
org.apache.maven.plugins maven-dependency-plugin 2.4 copy prepare-package unpack oracle jre-win32 1.6.0.23 zip false ${project.build.directory}/alternateLocation oracle jre-linux32 1.6.0.23 zip false ${project.build.directory}/alternateLocation ${project.build.directory}/wars false true
而已。 将下载JRE并将其解压缩到target \ alternateLocation文件夹。
如果您只想复制ZIP文件而不提取它们,则可以使用“复制”目标而不是“解压缩”。
您的要求在某种程度上是有效的用例。 但恕我直言,把它放入maven-repo并不是这样做的方法。
其他应用程序通过直接从提供程序获取可执行文件来实现此要求。 例如,像Hudson / Jenkins这样的构建服务器需要在用户选择时下载Java / Maven,而AFAIR Jenkins则直接从Oracle站点下载它们。 (由于oracle要求您在下载之前登录,因此他们使用SSO机制)。 沿着这条路径的类似解决方案将适合您。
即使您在m2-repo中托管您的JRE,也存在某些安全问题。 JRE是一个敏感的计划。 即使你说你从oracle托管了相同的JRE,我宁愿从oracle下载它。
在这里,您可以阅读如何将jar安装到maven仓库中。 但是你为什么要在maven回购中安装JRE jar?