使用ant在jar中运行一个类

时间:2010-11-30 16:17:54

标签: java ant

我试图从jar文件中调用一个特定的类,但我得到的是异常 -

Buildfile: C:\Projects\GranHermano\build.xml
SignJadFilesInDir:
    [java] java.lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/Cell

我的jar文件包含所有必需的jar(在本例中为poi-3.6-20091214.jar),因此不应抛出异常。

这就是我调用类的方法 -

<target name="SignJadFilesInDir" description="Signs all jad files in a dir" > 
 <java classname="com.src.SignDeviceJadInDir">
     <classpath>
        <pathelement location="BuildUtils.jar"/>
      </classpath>
  <arg line="${jadFileDir}"/>
  <arg line="${devicesExcelDir}"/>
  <arg line="${wtkDir}"/>
  <arg line="${keyStoreDir}"/>
  <arg line="${keyStoreId}"/>
  <arg line="${keyStorePwd}"/>
 </java>
</target>

由于

1 个答案:

答案 0 :(得分:0)

请你打开jar BuildUtils.jar以确保它包含poi类(而不是poi jar,因为我不知道JRE支持开箱即用的jar-in-a-jar) ? 如果您的BuildUtils.jar包含poi-3.6-20091214.jar而不包含其类,则您的例外情况非常正常。