小编典典

如何使Redline RPM库与Ant一起使用?

java

我将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>

我收到以下错误消息:BUILD FAILED
/home/gouessej/Documents/programmation/java/workspace/tuer/build.xml:445:java.lang.NoClassDefFoundError:org
/ apache / commons / compress / compressors / bzip2 /
BZip2CompressorInputStream

但是,没有提到Apache Commons Compress,根据“使用情况”页面,它似乎并不是该库的依赖项。我是否真的必须将Apache Commons
Compress添加到此任务定义的类路径中才能使其正常工作?还有其他解决方案吗?


阅读 253

收藏
2020-11-30

共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:

Apache Commons Compress

充气城堡

SLF4J

XZ

2020-11-30