是否可以在项目中将JVM作为Maven依赖项?
我问,因为我有一个项目输出一个由Vagrant项目组成的Maven程序集,该程序当前在Vagrant VM启动时下载并安装Java。这个Vagrant程序集项目纯粹是通过测试使用,因此它们可以运行Vagrant VM并快速运行服务,而不必担心每次在测试系统上都能正常运行。下载JVM目前是VM启动时间的90%,因此如果我可以将其与程序集捆绑在一起,那么它可以更快地完成。
我只需要一个特定的JVM - 32位Linux上的Java 7 - 但是如果有任何标准方法可以解决这个问题,我就无法解决问题。我可以构建我自己的工件并按照这种方式进行,但似乎这必须是其他人已经完成的工作。
答案 0 :(得分:0)
解决此问题的最有效方法是使用您需要安装的特定Java版本制作Vagrant框。这样您就可以完全跳过安装过程。
如果您真的想按照描述的方式进行操作,如果使用Nexus或Artifactory等存储库管理器,则可以使用组合ID,工件ID和版本将Java安装文件上载到reposity manager。然后你可以像这样添加一个依赖项(如果你上传一个rpm - 更改类型到tar.gz,否则)。
<dependency>
<groupId>my.group.id</groupId>
<artifactId>jdk-install</artifactId>
<version>versionEnteredDuringUpload</version>
<type>rpm</type>
</dependency>
如果您无权访问可以上传安装的存储库管理器,那么除了编写代码之外我别无其他想法,创建自己的项目并确保在构建程序集之前将其安装在本地存储库中