我使用Eclipse(3.4)并且我的类编译时没有警告或错误.我的项目使用外部jar文件.
我需要在哪里放置这个外部jar文件,以便java.lang.NoClassDefFoundError
在从另一个项目(而不是在Eclipse)中使用这个类时不会得到它?
我可以将jar解压缩到项目文件夹中,但这感觉不对.
编辑:这个问题不是关于在Eclipse中导入jar,而是在Eclipse之外使用它们.
如果您想将JAR文件包含到Eclipse项目中,通常会在项目文件夹中创建一个"lib"文件夹,并将文件放在那里.然后你需要告诉eclipse将它包含在你的类路径中,这样你的代码就可以在eclipse中编译和运行.
要做到这一点:
- 进入项目的属性
- 在左侧栏中选择"Java Build Path"
- 选择窗口中间部分的"Libraries"选项卡
- 单击Add JARs按钮 - 这将为您提供在eclipse中列出您的项目 - 将您的项目扩展到lib文件夹 - 您的jar将在那里.
- 选择JAR,单击"确定",然后再单击"属性"窗口中的"确定".
您的代码现在将编译并运行.
把它放在你的jre/lib/ext
文件夹中
所有关于类路径的说法都是正确的,但这是一个生活的一致和明智的地方.
你可以通过查看Windows上的JAVA_HOME环境变量找到你的jre文件夹.
你把它放在哪里并不重要,但你需要配置你的其他非Eclipse项目将外部jar放在它的类路径中 - 或者如果必须的话,使用扩展目录机制.(这更容易,但明确表示更好.)
西蒙的回答似乎是最好的,但现在有点过时了.用谷歌搜索了这个Oracle doc Installed扩展.
从Java 6开始,扩展JAR文件也可以放置在独立于任何特定JRE的位置,以便扩展可以由系统上安装的所有JRE共享.
它表示对于Windows,您应该将扩展名放在%SystemRoot%\ Sun\Java\lib\ext中.