2009-06-04 111 views
0

我可以清晰地构建我的应用程序在Windows和Mac OS X,但在Windows上,当我尝试运行应用程序我得到我的主类的类未发现异常Java的罐类未发现异常

主要$ 4中未发现。

班是在那里,它建立干净。为什么不能找到类文件? Jar在OS X中工作。

Jar的创建方式如下。

<target name="jar" depends=""> 
    <jar destfile="build/application.jar" > 
    <manifest> 
     <attribute name="Built-By" value="Hamza"/> 
     <attribute name="Main-Class" value="application"/> 
    </manifest> 
    <fileset dir="build"> 
     <include name="**/*.class"/> 
    <include name="**/*.png"/> 
     <exclude name="**/*.jar"/> 
    </fileset> 
    </jar> 
</target> 

我可以不用在OS X上的任何错误运行,但在Windows中,我得到找不到类异常。

+0

你可以添加你正在尝试的命令行片段吗? – Ram 2009-06-04 14:05:25

回答

1

它是否使用相同的JVM运行?主要4美元似乎表明这是一个匿名类没有找到。如果没有更多信息,很难帮助您。也许提供一段代码和一些堆栈跟踪,以及你正在使用的JRE版本?

错字有:干净的窗口和Mac OS X,但在窗口

0

没有太多的信息,但它看起来像在主类无法解决一些依赖它有一个匿名类,因而不能创建。

此外,构建时间和运行时类路径之间也有差异。您的实际运行时可能需要比构建更多的jar。

例如,包含您在代码中引用的接口的jar是构建代码所必需的,但您需要具有该接口的实现的jar来运行代码。

编辑: 您的更新显示您的构建,你已经说过的作品(哪个操作系统无关紧要),因为这是Java。你的问题是运行时的类路径。你在一个OS中设置了classpath环境变量,而不是另一个?我们无法从中了解您的依赖关系。了解所涉及的匿名类的内容将有助于找出缺失的依赖关系。

1

Main-Class属性是否真的设置为“application”?

主要类应该指出要运行的类的相对路径,例如: “myPackage.Application”,或者简单地“Main”。