猿问

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

这是我第一次使用 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/SQLException

at ---/dummy.dummy_class.main(dummy_class.java:8)

Caused by: java.lang.ClassNotFoundException: java.sql.SQLException

at 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 文件夹)并手动将其包含在构建路径中,但我遇到了同样的问题。


炎炎设计
浏览 190回答 1
1回答

MMMHUHU

旧项目必须有一个带有如下标签的 pom<groupId>com.project</groupId>&nbsp;<artifactId>old-project-name</artifactId><version>1.0.0</version><dependencies>&nbsp; &nbsp; ...&nbsp; &nbsp; <!-- mysql as dependency if you want use it in new project -->&nbsp; &nbsp; <dependency>&nbsp; &nbsp; &nbsp; &nbsp; <groupId>mysql</groupId>&nbsp; &nbsp; &nbsp; &nbsp; <artifactId>mysql-connector-java</artifactId>&nbsp; &nbsp; &nbsp; &nbsp; <version>5.1.39</version>&nbsp; &nbsp; </dependency>...并且您需要将旧项目添加为新项目依赖项在新项目 pom 中:&nbsp;<dependencies>&nbsp; &nbsp; &nbsp; &nbsp; ...&nbsp; &nbsp; &nbsp; &nbsp; <!-- old project -->&nbsp; &nbsp; &nbsp; &nbsp; <dependency>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <groupId>com.project</groupId>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <artifactId>old-project-name</artifactId>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <version>1.0.0</version>&nbsp; &nbsp; &nbsp; &nbsp; </dependency>&nbsp; &nbsp; &nbsp; &nbsp;...通过这种方式,新项目可以使用旧项目中的类和依赖项,如 mysql
随时随地看视频慕课网APP

相关分类

Java
我要回答