我有一个类,它位于一个名为 com.toptur.sysTray 的包中,它所做的只是加载系统托盘,它不使用任何外部包。我创建一个 SysTray 对象来安装系统托盘。一切都很好。我可以从命令行运行应用程序并安装系统托盘。但是当我尝试从类文件创建一个 jar 并运行它时,我得到了 NoClassDefFoundError。
包及其类文件在我的应用程序不使用 ant 外部 jar 的 jar 中。只是java提供的类。
如果从 jar 中构建一个 .exe 文件,它会再次开始工作而不会出现任何错误。
我怎样才能找到这个?
<target name="jar" depends="">
<jar destfile="build/toptur.jar" >
<manifest>
<attribute name="Built-By" value="Toptur"/>
<attribute name="Main-Class" value="gotacan"/>
</manifest>
<fileset dir="build">
<include name="**/*.class"/>
<include name="**/*.png"/>
<exclude name="**/*.jar"/>
</fileset>
</jar>
我使用上面的代码从 ant 目标创建 jar 文件。驱动程序不在包中。它位于 gotacan.java
我使用 java -jar toptur.jar 运行它
程序的其余部分工作它只在我尝试使用该包时抛出异常。