在eclipse中,引用了一个jar包,如:当前类的路径为:nt2000.console.Console,在这个类中,
import com.rwh.Test;(在一个test.jar的文件中)并在类Console中调用com.rwh.Test类中的方法,在eclipse中,我通过Project-Properties-Java build path-Add Library,加入了test.jar的路径。这样,在eclipse我可以正常地编绎整个工程,点运行也可以正常运行。
但:我用Export的功能将nt2000的工程导出成一个jar包后,这个jar包运行到调用com.rwh.Test中的方法时则错:NoClassDefFoundError,而将这个方法调用去掉则整个程序运行正常。
象这样引入了外部jar包的工程,要如何布置才能让系统知道导入包的路径呢?

解决方案 »

  1.   

    问题初步解决,把第三方包放在java的ext目录下就行了,但如果我想把包放在自己的目录下,应如何做呢?
      

  2.   

    自己写一个Manifest文件,在里面用Class-Path属性来指定依赖的其他包文件的路径, 例如Main-Class: nt2000.console.Console
    Class-Path: test1.jar test2.jar test3.jar然后Export的时候指定使用这个Manifest文件, Class-Path里写的包路径是相对于包含MainClass的包的路径的,用空格分开