【发布时间】:2021-01-29 21:34:45
【问题描述】:
我有一个后端 api spring boot 项目,当我尝试从 vscode bash 终端(eclipse bash 终端)启动它时,我收到以下错误:
10-15 07:38:37,212 org.springframework.context.support.AbstractApplicationContext:refresh WARN - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
10-15 07:38:37,212 org.apache.juli.logging.DirectJDKLog:log INFO - Stopping service [Tomcat]
10-15 07:38:37,227 org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener:logMessage INFO -
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
但是,当我使用 eclipse 插件:“Boot Dashboard”时,它工作正常并启动,没有错误....
我在终端中使用的命令是:
mvn clean install spring-boot:repackage
java -jar target/project-name-0.0.1-SNAPSHOT.jar
这曾经可以工作,然后有一天才开始抛出错误????。
我已经尝试过 maven 更新、项目清理、删除 /m2 文件夹、确保所有端口都已清除/打开、“将其关闭并再次打开” ????....无法从终端运行但是插件可以工作,不知道为什么。
【问题讨论】:
-
你运行的是什么版本的java,stackoverflow.com/questions/43574426/…
-
我使用的是 jdk 11
-
如果您阅读我发布的链接,从 Java 9 和转发 JAXB 已从 jdk 中删除,因为它被认为是 Java EE 的一部分。如果要包含它,则需要使用标志
--add-modules java.xml.bind进行编译 -
@ThomasAndolf 我可以点击您评论中的链接并将其添加到 pom 以解决我的问题:
如果您想添加答案,我可以将其标记为正确...javax.xml.bind jaxb-api 2.3.0 -
是的,确实如此...如果您想发布答案(而不是评论),我可以将其标记为正确答案...。
标签: java eclipse spring-boot visual-studio-code