вопрос был отредактирован, посмотрите на обновленные разделы и все различные способы, которыми я обращался к нему, чтобы найти решение. < /b> < /p>
Начальный вопрос < /b> < /p>
Я попытался создать исполняемый файл JAR для своего проекта, но я запускаю к ошибка при попытке запустить его без основного манифеста Атрибут, в kerkinibackend.jar .
Проект является приложением для Spring Boot, и я использую Intellij в качестве ide.
i Пытался найти наиболее распространенные сценарии, когда это может произойти из аналогичных вопросов, но я не мог заставить его работать.
- открыл IntelliJ.
- открыл структуру проекта на правом значке верхнего правого.
- Перейти к артефакту. Br /> Нажмите плюс, чтобы добавить новый артефакт. < /li>
jar -> из модулей с зависимостями. (Также попробовал это, используя пустой вариант при наличии файла manifest.mf, который был автоматически сгенерирован с первого раза, когда я его попробовал). < /li>
открыл папку для основного класса в попке -up Dialog и указал его.
(также попытался оставить основной класс пустым, когда я где -то читал и оставил его подключить
с помощью его через манифест). < /li>
остальное как дефолт. (Таким образом, IntelliJ также создает необходимый манифест, если у вас уже есть его удаление файла, позволит его генерировать его снова) < /li>
Тогда я нажал на сборку -> сборка сборки -> сборка. < /li>
Создается размером 57 МБ. Я попытался запустить его в качестве исполняемого файла, но я увидел, что он не работает. Затем я открыл CMD и запустил java -jar kerkinibackend.jar , а затем появится сообщение об ошибке. Дело в том, что файл manifest.mf фактически создается в src/main/java/meta-inf
Код: Выделить всё
Manifest-Version: 1.0
Main-Class: com.teicm.kerkinibackend.KerkinibackendApplication
< /code>
Я также имею необходимую зависимость в pom.xml < /p>
org.springframework.boot
spring-boot-maven-plugin
< /code>
< /p>
Обновление < /b> < /p>
Я исправил проблему, изменяя генерацию манифеста по умолчанию, чтобы быть в ресурсах. Нет классов автоматической конфигурации, найденных в Meta-Inf/Spring.Factories. Если вы используете пользовательскую упаковку, убедитесь, что этот файл верен.
< /p>
дальнее обновление < /b> < /p>
Я попытался добавить дополнительный файл в spring.factories Код: Выделить всё
00:24:26.230 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine a suitable driver class
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:767)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:218)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1308)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1154)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:538)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:498)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:391)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1288)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1127)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:538)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:498)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1083)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:853)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:316)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)
at com.teicm.kerkinibackend.KerkinibackendApplication.main(KerkinibackendApplication.java:11)
< /code>
Но я не знаю, подходит ли мне шаг ближе или на шаг дальше. И почему не будет распознан источник данных MySQL. Когда я использую проект локально, все работает, он подключается к MySQL, он имеет связь с передней частью. < /P>
< /p>
Пробуйте другой метод сборки с использованием maven-assembly-plugin Я также пытался использовать другой способ Чтобы построить исполняемую банку, через @Zsolt tolvary s подход (вы можете найти больше об этом на ссылке). Этот подход использует в pom.xml еще один плагин под названием Maven-Assembly-plugin .
К сожалению, выполнение предлагаемых шагов генерирует файл JAR, но когда я пытаюсь запустить сгенерированные JAR, которая существует сейчас в папке/Target , затем я получаю сообщение об ошибке ошибки: не могу найти или загрузить основной класс com.teicm.kerkinibackend.kerkackendapplication Изменив, конечно, в плагине название основного класса: < /p>
maven-assembly-plugin
KerkiniBackEnd
false
com.teicm.kerkinibackend.KerkinibackendApplication
jar-with-dependencies
org.apache.maven.plugins
maven-compiler-plugin
1.8
1.8
< /code>
< /p>
Для тех, кто имеет немного свободного времени, не стесняйтесь предлагать мне Решение или даже попробуйте его-самостоятельно. Мне действительно нужно сгенерировать его, это последняя часть завершения моей диссертации ... < /p>
Связь для репозитория GitHub - GitHub Repository < /p>
Спасибо Вы за свое время и усилия
Подробнее здесь: https://stackoverflow.com/questions/548 ... cebeancrea