Импорт файла Maven Project в Eclipse для другого проекта Maven - PullRequest
0 голосов
/ 25 января 2019

Я впервые использую Maven.

У меня есть создание нового проекта в Eclipse, для которого нужны классы из предыдущего проекта Java, который я разработал.

Я экспортировал старый проект Maven как неисполняемый jar, используя настройки по умолчанию, которые дал мне Eclipse. Одной из зависимостей старого проекта является драйвер jdbc mysql.

Когда я импортировал oldProject.jar в проект New Maven, используя некоторые из старых классов, 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)

Затем я попытался переместить банку из папки Maven в другую (папка lib) и вручную включить ее в путь сборки, но у меня возникла та же проблема.

1 Ответ

0 голосов
/ 25 января 2019

старый проект должен иметь помп с такими тегами, как следует

<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

...