Когда я запускаю проект как приложение java в eclipse, оно отлично работает, но при запуске java -jar
на windows cmd выдается исключение SQL (подходящий драйвер не найден)
У меня есть для создания исполняемого файла jar используется maven (maven-assembly), в проекте \ target создается файл jar-with-dependencies. postgresql jar (postgresql -42.2.5.jar) существует в папке project \ lib.
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.project.Main</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
После запуска mvn clean package
: файл манифеста (project\src\main\resources\MANIFEST.mf
) копируется в project\target\classes folder
. Файл манифеста содержит Class-Path: lib/postgresql-42.2.5.jar
.
Я также добавил зависимость в свой pom. xml.
<dependencies>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${postgres.driver.version}</version>
</dependency>
</dependencies>
Я надеялся, что Class-Path в файле манифеста позаботится об этой проблеме, но это не так.
Возможно, это повторяющаяся запись, но ни одно из существующих решений не устранило мою проблему.