为什么我设置了classpath还是找不到类

代码里我就引了一个POI的类。如果我不引其他的Jar包程序就能运行正常,但我引了其他的包后,就会报Exceptioninthread"main"java.lang.NoC... 代码里我就引了一个POI的类。如果我不引其他的Jar包程序就能运行正常,但我引了其他的包后,就会报
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/poi/hssf/u
sermodel/HSSFWorkbook
at package01.f.main(f.java:11)
Caused by: java.lang.ClassNotFoundException: org.apache.poi.hssf.usermodel.HSSFW
orkbook

就是找不到类的错误
我是想在CMD下运行。
我试着写java -cp poi.jar -jar aaa.jar,来运行,还是报上面的错,这是什么原因。

代码如下。
package package01;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class f {
public static void main(String[] args) {
HSSFWorkbook wb = new HSSFWorkbook();
}
}
我在MANIFEST.MF文件中加入了Class-Path: poi.jar之后,就可以正常运行了。
为什么使用java -classpath就不可以呢,是我机器的问题?还是Java虚拟机有什么说法?
展开
 我来答
小桥流水凌凌漆
推荐于2016-10-11 · TA获得超过1万个赞
知道小有建树答主
回答量:2853
采纳率:0%
帮助的人:449万
展开全部
照这样写准行,
变量名:JAVA_HOME
变量值:E:\jdk1.6.0_24
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\mysql-connector-java-5.1.17-bin.jar
变量名:PATH
变量值:%JAVA_HOME%\bin
如果要连接数据库记住把数据库驱动mysql-connector-java-5.1.17-bin.jar拷到E:\jdk1.6.0_24\lib下。我的jdk在E:盘。根据你的jdk改一下。改完以后一定要重新启动才有效,这点一定要记住。碰见好多人说不重启也可以,其实是不行的。环境变量必须重启。重启后进入命令行,输入javac或者java测试一下,如果没反应说明你的jdk有问题,如果有反应你在运行程序就不会有问题。
如果还有问题,就是有可能你的.class文件是以前编译的可能出问题了,再用javac命令重新编译后在执行就行了。

jdk tomcat都用绿色的啊。别安装麻烦的很。这种问题,一般不是电脑的问题,我以前也把责任推给电脑,结果最后总是冤枉好人。
jamxval
2012-12-10 · TA获得超过6822个赞
知道大有可为答主
回答量:4308
采纳率:82%
帮助的人:1422万
展开全部
java -verbose:class -cp poi.jar aaa.jar 用 -verbose:class 来打印类加载的日志过程,碰碰运气吧。一般出错的可能是某个文件没找到或它引用句的类找不到呢。

你是在哪个目录下运行的?那个 poi.jar 和 aaa.jar 都是在当前目录吗?
追问
恩,都在当前目录操作的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bangbangmiao
2012-12-10 · 超过32用户采纳过TA的回答
知道答主
回答量:199
采纳率:0%
帮助的人:92.2万
展开全部
建议你还是用eclipse 直接导入包 这些命令 不用你输入 就能运行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bd9006
2012-12-10 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4.8万
采纳率:63%
帮助的人:1.6亿
展开全部
引用其它包的时候,如何写的呢

windows中要这样

java -cp poi.jar;c:\java\lib\log4j.jar -jar aaa.jar

注意分隔符号
追问
我也是这么写的,可是这样写还是报找不到类,是不是用java -jar的命令来运行Jar包,classpath参数无效?还是什么。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式