JVM作为Maven依赖

时间:2015-06-22 14:32:21

标签: java maven vagrant maven-assembly-plugin

是否可以在项目中将JVM作为Maven依赖项?

我问,因为我有一个项目输出一个由Vagrant项目组成的Maven程序集,该程序当前在Vagrant VM启动时下载并安装Java。这个Vagrant程序集项目纯粹是通过测试使用,因此它们可以运行Vagrant VM并快速运行服务,而不必担心每次在测试系统上都能正常运行。下载JVM目前是VM启动时间的90%,因此如果我可以将其与程序集捆绑在一起,那么它可以更快地完成。

我只需要一个特定的JVM - 32位Linux上的Java 7 - 但是如果有任何标准方法可以解决这个问题,我就无法解决问题。我可以构建我自己的工件并按照这种方式进行,但似乎这必须是其他人已经完成的工作。

1 个答案:

答案 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>

如果您无权访问可以上传安装的存储库管理器,那么除了编写代码之外我别无其他想法,创建自己的项目并确保在构建程序集之前将其安装在本地存储库中