Невозможно включить локальную зависимость maven в сборку .jar - PullRequest
0 голосов
/ 15 ноября 2018

В моем проекте есть следующая зависимость maven:

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc14</artifactId>
    <version>10.2.0.5.0</version>
    <scope>system</scope>
    <systemPath>/Users/alex/code/scratch/src/assets/ojdbc14.jar</systemPath>
</dependency>

При сборке в IntelliJ IDE она работает как положено, и я могу взаимодействовать со своей базой данных Oracle, как и ожидалось.

Однако, когда я пытаюсь встроить его в CLI с помощью:

mvn clean compile assembly:single

Сборка будет завершена, но при запуске моего .jar я получаю следующее:

Exception occurred: java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

I'mне совсем уверен, почему я могу использовать зависимость из IntelliJ, но не тогда, когда она компилируется.

Для справки, здесь также есть конфигурация моего сборочного плагина:

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <finalName>scratch</finalName>
                <archive>
                    <manifest>
                        <mainClass>scratch.Scratch</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <appendAssemblyId>false</appendAssemblyId>
            </configuration>
        </plugin>

Как я могу изменить мои настройки, чтобы я мог упаковать свой ojdbc14.jar в сборку моего проекта.Или я всегда должен поставлять зависимую банку вместе с моей банкой?

Редактировать: Я также попробовал следующее

mvn install:install-file -Dfile=src/assets/ojdbc14.jar -DgroupId=com.oracle -DartifactId=oracle -Dversion=10.2.0.5.0 -Dpackaging=jar -DgeneratePom=true

с выводом:

    --- maven-install-plugin:2.4:install-file (default-cli) @ scratch ---
[INFO] Installing /Users/alex/code/scratch/src/assets/ojdbc14.jar to /Users/alex/.m2/repository/com/oracle/oracle/10.2.0.5.0/oracle-10.2.0.5.0.jar
[INFO] Installing /var/folders/0w/3mt249xn54d88n7zptdbjjbh0000gn/T/mvninstall4687156200536752767.pom to /Users/alex/.m2/repository/com/oracle/oracle/10.2.0.5.0/oracle-10.2.0.5.0.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS

1 Ответ

0 голосов
/ 15 ноября 2018

Возможно, у вас проблема с кэшированием в вашем локальном хранилище.

  • Удалить каталог /Users/alex/.m2/repository/com/oracle/oracle/10.2.0.5.0/
  • Запустите ваш install:install-file снова.
  • Попробуйте mvn clean install
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...