java运行时无法找到类,java.lang.NoClassDefFoundError。在运行时找不到类。

I am working on eclipse, and I have the need to use external library's. For example Jsoup and JXL.

Now what I have done so far is: First created a "lib" folder in my project folder. Afterwards in eclipse, click on project properties, Libraries tab, add external jar and added the jar in the lib folder.

So this solve my compilation issue. Now, when I run the program (I go to project/bin and in the console execute: java ProgramName ; I get

java.lang.NoClassDefFoundError:

Now to testing, I added the Jar file to the folder where Main.java is and Now, I have been able to run the program doing the following:

javac -classpath ./path/to/jar Main.java

java -classpath ./path/to/jar:. Main

And this works.

So the first thing that comes to mind is that I have to tell java where to find the respective libraries. If this is correct? How do I do it?

java -cp ???(dont know what to put here)

But moreover. I have another issue. I am writing this program in a computer, but I am going to use it in other which probably don't have those libraries. How do I solve this issue?

解决方案

if you have this structure:

project folder

... code

... libs

then from the code folder:

javac -cp .;../libs/*.jar yourmainclass.java

java -cp .;../libs/*.jar yourmainclass

When you need to compile and run this project, take all the folder and do the same in other machine.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值