【发布时间】:2015-10-22 05:47:09
【问题描述】:
我使用 Hello RCP 框架创建了一个使用 RCP 框架的示例插件应用程序。然后,我在“配置”选项中将项目转换为 Maven 项目。我需要一个 mysql 连接器来执行一些数据库操作;为此,我在 pom.xml 文件中添加了依赖项。
构建应用程序后,它能够创建 maven 依赖文件夹并放置所需的 mysql jar。但是,当我运行该应用程序时,它说它无法找到 Driver 类。 Maven Dependency 文件夹中的 jar 文件没有错误。如果我手动将它放在构建路径中,它可以正常工作。
每当我创建一个示例 JAVA 应用程序并将其转换为 maven 项目并添加这些依赖项时,它都可以正常工作。仅适用于插件项目,它无法找到所需的 jar。
下面是我的 pom.xml 的内容
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.sample.plugin</groupId>
<artifactId>com.sample.plugin</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>maven-plugin</packaging>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.18</version>
<scope>Compile</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
//错误信息
连接类1内部:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 错误:无法加载驱动程序类! 在 org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) 在 org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:358) 在 java.lang.Class.forName0(本机方法) 在 java.lang.Class.forName(Class.java:190) 在 com.sample.plugin.DButil.getConnection(DButil.java:25) 在 com.sample.plugin.Application.start(Application.java:20) 在 org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) 在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) 在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344) 在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:606) 在 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) 在 org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) 在 org.eclipse.equinox.launcher.Main.run(Main.java:1410) 在 org.eclipse.equinox.launcher.Main.main(Main.java:1386) 拿起_JAVA_OPTIONS:-Xmx512M
【问题讨论】:
-
您能否将所发生错误的全文添加到您的帖子中?这也有助于查看您尝试在代码中的何处使用此依赖项。
-
请发表您的错误
-
我已经添加了错误信息,您现在可以检查一下吗?
-
只有在构建jar时才会出现这种情况,在构建jar之前不会出现这种情况?
-
我现在可以解决错误了。我需要通过将 JAR 文件制作为 OSGi 包来添加它。下面的链接很有用davidngos.blogspot.in/2013/10/…
标签: java eclipse maven plugins eclipse-rcp