java classpath jar包_java classpath 加载jar包问题

本人JAVA菜鸟,弱弱的问个问题(Centos6.4环境JDK7):我写了个JAVA脚本,路径为:/tmp/Test.java,其中用到了第三方Java类包路径为/java/mylib/xxx.jar--我通过javac-classpath/java/...

本人JAVA菜鸟,弱弱的问个问题 (Centos 6.4环境 JDK7):

我写了个JAVA脚本,路径为:/tmp/Test.java,其中用到了第三方Java类包路径为/java/mylib/xxx.jar

-- 我通过 javac -classpath /java/mylib/xxx.jar /tmp/Test.java 编译通过了顺利出现Test.class

问题来了:

1.当我运行 java /tmp/Test 报错 【java.lang.NoClassDefFoundError】 没找到xxx.jar包

2.我再运行 java -classpath /java/mylib/xxx.jar /tmp/Test 再次报错【错误: 找不到或无法加载主类 Test】

3.好吧,我设置 CLASSPATH=$CLASSPATH:/java/mylib,再次运行java /tmp/Test 又是【java.lang.NoClassDefFoundError】

4.不服输, 设置 CLASSPATH=$CLASSPATH:/java/mylib/xxx.jar,接着运行java /tmp/Test成功了!

5.出于好奇试了下: 解压xxx.jar包 jar -xf /java/mylib/xxx.jar 再运行 CLASSPATH=$CLASSPATH:/java/mylib/ 再运行 java /tmp/Test 再次成功运行

说明:如果指定classpath目录,java程序只能搜索非jar包的*.class文件,而不会搜索*.jar文件,只有把classpath指定jar文件路径即CLASSPATH=$CLASSPATH:/java/mylib/xxx.jar才能被搜索到(不知道我说的对不对哦,反正我测了下是这个样子滴)

如果按第4种方法的话,我的项目如果需要用到100个JAR包,我岂不是需要在CLASSPATH中加100个JAR?

我的问题是:

有什么方法可以让CLASSPATH读取指定目录下的所有JAR包?

或者除了CLASSPATH还有其他什么办法可以让JAVA程序找到第三方需要用到的包

我试过Eclipse里有个Java Build Path->Libraries 可以自己添加第三方JAR包,点运行,它竟然可以神奇般的编译+运行出来,Eclipse是怎么做到的呀?

请大侠赐教

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值