findResource(“”) 在 module-info.java 存在时返回 null

我正在调试为什么在module-info.java我的 Spring Boot 应用程序中,spring-orm在启动时抛出异常。这是例外:


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/transaction/UserTransaction

    at spring.beans@5.0.8.RELEASE/org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1699) ~[spring-beans-5.0.8.RELEASE.jar:na]

    at spring.beans@5.0.8.RELEASE/org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:573) ~[spring-beans-5.0.8.RELEASE.jar:na]

    at spring.beans@5.0.8.RELEASE/org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495) ~[spring-beans-5.0.8.RELEASE.jar:na]

    at spring.beans@5.0.8.RELEASE/org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.8.RELEASE.jar:na]

如果存在但如果不存在,我将问题追溯到URLClassLoader.findResource("")返回。nullmodule-info.java"file:/C:/Users/pupeno/Documents/Dashman/code/dashmanserver/target/classes/"

我创建了抛出相同异常的最小可能示例。要运行它,您需要:

  1. 从这里克隆并安装最近的 Moditect 副本:https : //github.com/moditect/moditect由于此错误修复尚未发布:https : //github.com/moditect/moditect/issues/51

  2. 从以下位置克隆演示仓库:https : //github.com/dashmantech/demo

  3. 使用凭据 demo/confi/application.properties 设置本地 PostgreSQL 数据库

  4. mvn clean package首先运行,以便 ModiTec 创建所有模块

  5. 在最近的 IntelliJ 副本中打开项目

  6. 单击“运行演示”配置文件的播放(该.idea目录包含在适当的运行配置文件、参数等中)。

我需要findResource("")返回"file:/C:/Users/pupeno/Documents/Dashman/code/dashmanserver/target/classes/",这样spring-orm可以工作。


宝慕林4294392
浏览 208回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java