当前位置: 技术问答>java相关
救命啊,classpath问题
来源: 互联网 发布时间:2015-01-13
本文导语: 为了使用jar包(log_ctrl.jar)中的类CreateLog,我在classpath中加入了如下路径:C:Public_classlog_ctrl.jar 在普通java文件中使用没有问题,比如我在test_log_ctrl.java中使用没有问题,代码如下: import java.io.*; public class test_log_ctrl ...
为了使用jar包(log_ctrl.jar)中的类CreateLog,我在classpath中加入了如下路径:C:Public_classlog_ctrl.jar
在普通java文件中使用没有问题,比如我在test_log_ctrl.java中使用没有问题,代码如下:
import java.io.*;
public class test_log_ctrl
{
public static void main(String[] args)
{
System.out.println("begin");
log.CrontabLog.CreateLog c_log=new log.CrontabLog.CreateLog("C:\usr\src\lxf\log\cfg\");
c_log.writeLog(0);
c_log.flushLog();
try{Thread.sleep(3000);}catch(Exception ee){ }
c_log.writeLog(1);
c_log.flushLog();
} //end main()
}
而在一个打成jar包中的程序中使用却提示class找不到,错误提示如下:
D:Log_Process>java -jar Log_Process.jar 1
Exception in thread "main" java.lang.NoClassDefFoundError: log/CrontabLog/CreateLog
at Log_Process.Log_Process.main(Log_Process.java:71)
在Linux下也是这样,这是什么原因造成的,怎么解决?
在普通java文件中使用没有问题,比如我在test_log_ctrl.java中使用没有问题,代码如下:
import java.io.*;
public class test_log_ctrl
{
public static void main(String[] args)
{
System.out.println("begin");
log.CrontabLog.CreateLog c_log=new log.CrontabLog.CreateLog("C:\usr\src\lxf\log\cfg\");
c_log.writeLog(0);
c_log.flushLog();
try{Thread.sleep(3000);}catch(Exception ee){ }
c_log.writeLog(1);
c_log.flushLog();
} //end main()
}
而在一个打成jar包中的程序中使用却提示class找不到,错误提示如下:
D:Log_Process>java -jar Log_Process.jar 1
Exception in thread "main" java.lang.NoClassDefFoundError: log/CrontabLog/CreateLog
at Log_Process.Log_Process.main(Log_Process.java:71)
在Linux下也是这样,这是什么原因造成的,怎么解决?
|
不要加驱动器盘符,不应有冒号,如:
不要写成这样Class-Path: C:Public_classlog_ctrl.jar
应该写成:Class-Path: Public_classlog_ctrl.jar
不要写成这样Class-Path: C:Public_classlog_ctrl.jar
应该写成:Class-Path: Public_classlog_ctrl.jar