繁体   English   中英

如何添加Maven依赖关系以在Eclipse中插入应用程序?

[英]How do I add maven dependency to plug in application in Eclipse?

我使用Hello RCP框架使用RCP框架创建了一个示例插件应用程序。 然后,在“配置”选项中将项目转换为Maven项目。 我需要一个mysql连接器来执行一些数据库操作; 为此,我在pom.xml文件中添加了依赖项。

构建应用程序后,它可以创建maven依赖文件夹并放置所需的mysql jar。 但是,当我运行该应用程序时,它说它找不到驱动程序类。 Maven Dependency文件夹中的jar文件中没有错误。 如果我手动将其放在构建路径中,则可以正常工作。

每当我创建一个示例JAVA应用程序并将其转换为maven项目并添加这些依赖项时,它的工作状况就很好。 仅用于插件项目,无法找到所需的罐子。

以下是我的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位于org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)的.loader.BundleLoader.findClass(BundleLoader.java:417)在java.lang.ClassLoader.loadClass(ClassLoader.java:358) com.sample.plugin处com.sample.plugin.DButil.getConnection(DButil.java:25)处的java.lang.Class.forName(Class.java:190)处的java.lang.Class.forName0(本机方法)。 org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)处的Application.start(Application.java:20)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.c 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处的ore.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)在sun.reflect.DelegatingMethodAccessorImpl处的sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)处。在org.eclipse.equinox处的java.lang.reflect.Method.invoke(Method.java:606)处的invoke(DelegatingMethodAccessorImpl.java:43)在org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)处org.eclipse.equinox.launcher.Main.run(Main.java:1410)的.launcher.Main.basicRun(Main.java:577)org.eclipse.equinox.launcher.Main.main(Main.java:1386的.launcher.Main.basicRun(Main.java:577) )拾起_JAVA_OPTIONS:-Xmx512M

  1. 下载mySQL jdbc驱动程序(如果尚未完成)
  2. 将此添加到本地存储库(由于许可问题,您必须下载,不能从Maven公共存储库下载它)
  3. 确保将依赖项标记为运行时,因为在编译过程中我们不需要驱动程序jar。 Javac编译为JDBC API接口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM