我正在开发一个Java测试项目,使用Cassandra作为持久化的工具,并使用阿喀琉斯作为我客户端的Cassandra API。此外,为了测试目的,我在Drone.io中运行Gradle构建了这个项目。
阿喀琉斯库依赖于Java7,这是Drone.io可能的构建类型之一,但是由于这是一个Gradle构建,所以有必要将它变成一个Groovy构建。根据这个正式的文档页面,仍然可以在Groovy中使用Java7,只需在构建脚本中添加一个命令就可以更改默认的1.6JVM:
sudo update-java-alternatives -s java-1.7.0-openjdk-amd64但是,在将该行添加到构建说明之后,我从Drone.io构建日志中获得以下错误消息:
update-alternatives: error: no alternatives for mozilla-javaplugin.so.
update-java-alternatives: plugin alternative does not exist: /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so这显然是一个常见的错误,我设法谷歌了许多解决方案。我的问题是,所有这些解决方案都涉及到安装插件和/或将条目添加到源列表中,这在Drone.io虚拟机中似乎不是很简单。
一种解决方案是运行sudo update-alternatives --install /usr/lib/mozilla/plugins/mozilla-javaplugin.so mozilla-javaplugin.so /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/libnpjp2.so 1 (我更新了来自原解的路径以反映VM的目录结构)来安装缺少的库,但是VM中的这个位置没有libnpjp2.so文件。
在Drone.io中的Groovy/Gradle构建中使用Java 7的人是否运气更好,或者对解决方法有什么想法?
发布于 2014-05-09 21:15:45
在drone.io (甚至一般情况下)中使用Gradle的最佳方法是通过梯度包装。这适用于任何drone.io构建类型,因此您可以简单地选择Java7。
https://stackoverflow.com/questions/23572487
复制相似问题