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?