我正在尝试构建我的控制台应用程序,并且正在使用 Ant 来构建它。我可以在 Eclipse 中运行我的应用程序,但是当我尝试从我得到的 jar 中运行它时 - ClassNotFoundException: 被抛出。在一个罐子里,我用于我的应用程序。这是我创建清单的 build.xml 的一部分:
<manifest>
<attribute name="Main-Class" value="com.package.Reporter" />
<attribute name="Class-Path" value="lib/commons-httpclient-3.1.jar
lib/commons-logging-api.jar
...lot of jars...
lib/stax-api-1.0.1.jar" />
</manifest>
所需的类在 commons-httpclient-3.1.jar 中,这是我为编译设置类路径的方式,很好:
<path id="libs.dir">
<fileset dir="lib" includes="**/*.jar"/>
</path>
UPD:我应该把带有库的罐子放到我的罐子里吗?现在我将它们放到我的 jar 的“lib”目录中。所以 myjar.jar 包含我的类,META-INF 目录和 lib 目录的包。