为了账号安全,请及时绑定邮箱和手机立即绑定

在 Eclipse 中为另一个 Maven 项目导入一个 Maven 项目 jar

在 Eclipse 中为另一个 Maven 项目导入一个 Maven 项目 jar

炎炎设计 2022-05-21 20:58:56
这是我第一次使用 Maven。我在 Eclipse 中创建了一个新项目,它需要我开发的以前的 Java 项目中的类。我使用 Eclipse 给我的默认设置将旧的 Maven 项目导出为不可执行的 jar。旧项目的依赖项之一是 jdbc mysql 驱动程序。当我在 New Maven Project 中导入 oldProject.jar 时,使用一些旧类,Eclipse 会引发错误。然后我将 jdbc mysql 驱动程序添加为 Maven 依赖项,但我仍然无法启动任何东西,因为:Exception in thread "main" java.lang.NoClassDefFoundError: java/sql/SQLExceptionat ---/dummy.dummy_class.main(dummy_class.java:8)Caused by: java.lang.ClassNotFoundException: java.sql.SQLExceptionat java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)然后我尝试将 jar 从 Maven 文件夹移动到另一个文件夹(lib 文件夹)并手动将其包含在构建路径中,但我遇到了同样的问题。
查看完整描述

1 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

旧项目必须有一个带有如下标签的 pom


<groupId>com.project</groupId> 

<artifactId>old-project-name</artifactId>

<version>1.0.0</version>


<dependencies>

    ...

    <!-- mysql as dependency if you want use it in new project -->

    <dependency>

        <groupId>mysql</groupId>

        <artifactId>mysql-connector-java</artifactId>

        <version>5.1.39</version>

    </dependency>

...

并且您需要将旧项目添加为新项目依赖项


在新项目 pom 中:


 <dependencies>

        ...

        <!-- old project -->

        <dependency>

            <groupId>com.project</groupId>

            <artifactId>old-project-name</artifactId>

            <version>1.0.0</version>

        </dependency>

       ...

通过这种方式,新项目可以使用旧项目中的类和依赖项,如 mysql


查看完整回答
反对 回复 2022-05-21
  • 1 回答
  • 0 关注
  • 189 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号