我使用Ant作为构建工具,我在最开始将这一行放入我的Ant脚本中:
<taskdef name="pure-java-rpm" classname="org.redline_rpm.ant.RedlineTask" classpath="lib/ant/redline-1.1.16.jar" />
我进一步说:
<pure-java-rpm group="Games" name="${project-unix-name}" version="0" destination="${destdir}">
<zipfileset prefix="/usr/share/games/${project-unix-name}" file="${destdir}/${game-jar-filename}"/>
<depends name="java" version=">= 1.7"/>
</pure-java-rpm>
我收到以下错误消息: 建筑失败 /home/gouessej/Documents/programmation/java/workspace/tuer/build.xml:445:java.lang.NoClassDefFoundError:org / apache / commons / compress / compressors / bzip2 / BZip2CompressorInputStream
但是,没有提及Apache Commons Compress,根据the "usage" page,它似乎不是该库的依赖项。我是否真的必须将Apache Commons Compress添加到此任务定义的类路径中才能使其工作?还有其他解决方案吗?
答案 0 :(得分:1)
说明中没有提到依赖关系,至少需要SLF4J,Bountycastle,XZ和Apache Commons Compress才能使用Redline RPM。我刚刚修改了我的任务定义:
<taskdef name="pure-java-rpm" classname="org.redline_rpm.ant.RedlineTask">
<classpath>
<pathelement path="bcpg-jdk15on-151.jar"/>
<pathelement path="commons-compress-1.8.1.jar"/>
<pathelement path="slf4j-api-1.7.7.jar"/>
<pathelement path="slf4j-simple-1.7.7.jar"/>
<pathelement path="xz-1.4.jar"/>
<pathelement path="redline-1.1.16.jar"/>
</classpath>
</taskdef>
您可以在这里找到这些JAR: