由外部静态方法引起的Java NoClassDefFoundError

时间:2012-12-13 14:00:21

标签: java jar noclassdeffounderror

我是一位长期读者,第一次海报。

我使用Netbeans开发Java应用程序来运行一些关于项目管理的模拟。现在程序已经完成,我想制作一个JAR文件,以便其他团队成员可以在不安装Netbeans的情况下使用它。通常我只是按“构建并清理”来制作一个JAR文件,但这次这个技巧不起作用。当我运行JAR文件时,一切正常,直到我按下按钮开始模拟。 cmd中的命令行给出了下一个错误:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: optimizat
ion/Lmder_fcn
        at umontreal.iro.lecuyer.randvar.BetaGen.nextDouble(BetaGen.java:109)
        at Scheduling.SimulationEngine.randomizeDurations(SimulationEngine.java:
122)
        at Scheduling.SimulationEngine.simulateNew(SimulationEngine.java:73)
        at IO.FileReader_GUI$GUIEventHandler.actionPerformed(FileReader_GUI.java
... blablabla

给出的一点是umontreal.iro.lecuyer.randvar.BetaGen.nextDouble()方法是我添加到项目中的JAR文件中使用的静态方法。在Netbeans中,它不会带来任何问题,但是当我使用它时,它会在没有Netbeans的情况下“独立”运行。

有人可以给我一个快速解决方案吗?请记住,我不是一名专业程序员。如果您需要更多信息,请随时提出问题!

1 个答案:

答案 0 :(得分:1)

很明显,你的JAR不在类路径中。请阅读本教程,它可以帮助您找出您环境中的问题。

PATH and CLASSPATH (The Java™ Tutorials > Essential Classes > The Platform Environment)

此外,在评论@Perception包含great link that might also help you时,我想确保你看到它。