我有一个类,位于名为com.toptur.sysTray的包中,它的作用是加载系统托盘,不使用任何外部包。我创建了一个SysTray对象来安装系统托盘。一切都构建得很好。我可以从命令行运行应用程序并安装systray。但是当我尝试从类文件创建jar并运行它时,我会收到NoClassDefFoundError错误。
包及其类文件在jar中,我的应用程序不使用任何外部jar,只使用Java提供的类。
如果将jar打包成.exe文件,则它又开始正常工作而没有任何错误。
我该如何跟踪这个问题?
包及其类文件在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运行它。
程序的其余部分工作正常,只有在尝试使用该包时才会抛出异常。