我有一个带有c3p0 JAR的Java保护。在eclipse中编译我的项目是可行的。没有错误或其他东西。但当我尝试运行我的应用程序时,它显示以下内容:
java.lang.NoClassDefFoundError: com/mchange/v2/c3p0/DataSources
我是否需要将来自c3p0的另一个jarfile提供给jar文件?或者我可以在启动应用程序时将它们链接起来?
发布于 2012-08-27 05:51:31
注意:我已经理解了您在Eclipse外部运行时的问题。
负责装入类的标准Java类加载器不理解jar文件中的jar文件,因此您需要执行其他操作:
Eclipse中的File->Export->Runnable jar选项可以根据您的选择执行所有这三项操作。选择最适合您如何将类提供给最终用户的类。
就我个人而言,我喜欢“生成的jar旁边的jar”,因为它最接近Java支持的开箱即用的jar,同时保留了原始的jar文件。最简单的方法最有可能合并所有的类,但是当你更高级的时候,你会发现它有一些缺点--在这一点上,你很可能不会遇到它们。
发布于 2012-08-27 05:30:36
在eclipse中添加C3P0作为外部jar
发布于 2012-08-27 05:37:06
看起来您在运行示例时没有在类路径中添加c3p0。
但是,您可以为eclipse使用maven和m2e插件,并添加以下内容
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>除了您拥有的其他依赖项之外。
在mvn eclipse: eclipse之后,您的项目将具有正确的类路径。
https://stackoverflow.com/questions/12133990
复制相似问题