我还没有直接从命令行运行非jar的java程序很长时间,但现在我需要它了我有一些问题,程序不会在需要的库中找到所需的库类路径 要重现我的问题,我已经创建了如下,这里的Java文件的代码:java不会在类路径中找到类所需的类
package launcher;
import org.joda.time.DateMidnight;
public class Launcher {
public static void main(String... args){
DateMidnight mid=new DateMidnight();
System.out.println(mid.dayOfMonth().toInterval());
}
}
在我的“在Mac上”用户在我的当前目录
,我只有以下jar:joda-time-2.0.jar
和上面的.java文件。 我想要编译并运行它,所以我做的:
javac -d . -cp joda-time-2.0.jar Launcher.java
我现在已经在我的当前文件夹下面的:
Launcher.java joda-time-2.0.jar launcher
哪里launcher
是包含Launcher.class
现在,如果我运行java -cp . launcher.Launcher
我得到:
Exception in thread "main" java.lang.NoClassDefFoundError: org/joda/time/DateMidnight
at launcher.Launcher.main(Launcher.java:8)
引起:java.lang.ClassNotFoundException:org.joda.time.DateMidnight
我告诉vm编译好的joda库在哪里,这里有什么错误?