【问题标题】:Caused by: javax.persistence.PersistenceException: Unable to resolve persistence unit root URL原因:javax.persistence.PersistenceException:无法解析持久性单元根 URL
【发布时间】:2018-10-23 18:08:54
【问题描述】:

原因:

java.io.FileNotFoundException: 类路径资源 [] 无法解析为 URL,因为它不存在

buildscript {
repositories {
    mavenCentral()
}
dependencies {
    classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.0.RELEASE")
}
}
group 'batch'
version '1.0-SNAPSHOT'

apply plugin: 'java'
apply plugin: 'spring-boot'
apply plugin: 'war'

bootRun {
addResources = true
}

war {
baseName = 'Batch'
version =  '0.1.0'
manifest {
    attributes 'Main-Class': 'com.Application'
}
}
jar {
manifest {
    attributes 'Main-Class': 'src.main.java.com.Application'
}
}
sourceCompatibility = 1.7
targetCompatibility = 1.7

repositories {
mavenCentral()
}
dependencies {
compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '1.5.6.RELEASE'
compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.24'
compile group: 'org.json', name: 'json', version: '20180130'
compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: '1.5.6.RELEASE'
compile group: 'javax.servlet', name: 'jstl', version: '1.2'
compile group: 'org.apache.tomcat.embed', name: 'tomcat-embed-jasper', version: '7.0.82'
compile group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version: '1.2.4.RELEASE'
compile group: 'org.springframework.data', name: 'spring-data-jpa', version: '1.7.4.RELEASE'
compile group: 'org.eclipse.persistence', name: 'javax.persistence', version: '2.1.1'
}

使用的技术:

Gradle、Springboot、jdk7

异常跟踪:

tionConfigEmbeddedWebApplicationContext : 上下文初始化期间遇到异常 - 取消刷新 att empt: org.springframework.beans.factory.BeanCreationException: 在类路径资源 [org/springframework/boot/aut 中定义的名称为“entityManagerFactory”的 bean 创建时出错 oconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]:调用 init 方法失败;嵌套异常是 javax.persistence.PersistenceException: Unable to resolve persist ence 单位根 URL 2018-05-14 21:11:04.427 INFO 3136 --- [main] o.apache.catalina.core.StandardService:停止服务 Tomcat 2018-05-14 21:11:04.505 信息 3136 --- [主要] utoConfigurationReportLoggingInitializer :

启动 ApplicationContext 时出错。要显示自动配置报告,请启用调试日志记录(以 --debug 开头)

2018-05-14 21:11:04.552 ERROR 3136 --- [main] os.boot.SpringApplication : 应用程序启动失败

org.springframework.beans.factory.BeanCreationException:在类路径资源 [org/springframework/boot/autoconfi 中定义名称为“entityManagerFactory”的 bean 创建错误 gure/orm/jpa/HibernateJpaAutoConfiguration.class]:调用 init 方法失败;嵌套异常是 javax.persistence.PersistenceException: Unable to resolve persistence u nit 根 URL 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578) ~[spring-beans-4.3.2.RELEAS E.jar!/:4.3.2.RELEASE] 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) ~[spring-beans-4.3.2.RELEASE.j ar!/:4.3.2.RELEASE] 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.3.2.RELEASE.jar !/:4.3.2.RELEASE] 在 org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.2.RELEASE.jar!/:4.3.2.RELEASE] 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.2.RELEASE.jar!/:4.3.2.R 删除] 在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.2.RELEASE.jar!/:4.3.2.RELEASE] 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.3.2.RELEASE.jar!/:4.3.2.RELEASE] 在 org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1076) ~[spring-context-4.3.2.RELEASE.jar!/:4.3.2.RELEASE] 在 org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:851) ~[spring-context-4.3.2.RELEASE.ja r!/:4.3.2.RELEASE] 在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541) ~[spring-context-4.3.2.RELEASE.jar!/:4.3.2.RELEASE] 在 org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.4.0.RELEASE.jar!/:1.4.0.RELEA 东南] 在 org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) [spring-boot-1.4.0.RELEASE.jar!/:1.4.0.RELEASE] 在 org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:369) [spring-boot-1.4.0.RELEASE.jar!/:1.4.0.RELEASE] 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:313) [spring-boot-1.4.0.RELEASE.jar!/:1.4.0.RELEASE] 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1185) [spring-boot-1.4.0.RELEASE.jar!/:1.4.0.RELEASE] 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1174) [spring-boot-1.4.0.RELEASE.jar!/:1.4.0.RELEASE] 在 com.Application.main(Application.java:15) [classes!/:na] 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_171] 在 sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)~[na:1.8.0_171] 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)~[na:1.8.0_171] 在 java.lang.reflect.Method.invoke(未知来源)~[na:1.8.0_171] 在 org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [Batch-0.1.0.war:na] 在 org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [Batch-0.1.0.war:na] 在 org.springframework.boot.loader.Launcher.launch(Launcher.java:50) [Batch-0.1.0.war:na] 在 org.springframework.boot.loader.WarLauncher.main(WarLauncher.java:59) [Batch-0.1.0.war:na] 原因:javax.persistence.PersistenceException:无法解析持久性单元根 URL 在 org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.determineDefaultPersistenceUnitRootUrl(DefaultPersistenceUnitManager.java:603) ~[spring-orm -4.3.2.RELEASE.jar!/:4.3.2.RELEASE] 在 org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.preparePersistenceUnitInfos(DefaultPersistenceUnitManager.java:443) ~[spring-orm-4.3.2.RELE ASE.jar!/:4.3.2.RELEASE] 在 org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.afterPropertiesSet(DefaultPersistenceUnitManager.java:424) ~[spring-orm-4.3.2.RELEASE.jar!/ :4.3.2.RELEASE] 在 org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:310) ~[spring-orm-4.3 .2.RELEASE.jar!/:4.3.2.RELEASE] 在 org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:373) ~[spring-orm-4.3.2.RELEASE.ja r!/:4.3.2.RELEASE] 在 org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:362) ~[spring-orm-4.3.2.RELEASE.jar!/:4.3.2.REL 舒适] 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) ~[spring-beans-4.3.2.REL EASE.jar!/:4.3.2.RELEASE] 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) ~[spring-beans-4.3.2.RELEAS E.jar!/:4.3.2.RELEASE] ...省略了24个常用框架 原因:java.io.FileNotFoundException:类路径资源[]无法解析为URL,因为它不存在 在 org.springframework.core.io.ClassPathResource.getURL(ClassPathResource.java:187) ~[spring-core-4.3.2.RELEASE.jar!/:4.3.2.RELEASE] 在 org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.determineDefaultPersistenceUnitRootUrl(DefaultPersistenceUnitManager.java:600) ~[spring-orm -4.3.2.RELEASE.jar!/:4.3.2.RELEASE] ...省略了31个常用框架

【问题讨论】:

  • 将完整的 statcktrace 粘贴到您的问题中
  • @SAM 为问题添加了完整的堆栈跟踪。
  • 您的错误是因为休眠实体管理器工厂。发布您的 DAO、实体、服务和控制器代码。错误是由于会话工厂休眠造成的。
  • 发布您的代码,我会在 12 小时后看到。
  • @SAM 已解决。删除了编译组:'org.eclipse.persistence',名称:'javax.persistence',版本:'2.1.1'。添加了实体 public class TestEntity { Id GeneratedValue private int id; }

标签: java spring-boot gradle war


【解决方案1】:

解决方案:

已删除

compile group: 'org.eclipse.persistence', name: 'javax.persistence', version: '2.1.1'

添加如下类

@Entity
public class TestEntity {
    @Id
    @GeneratedValue
    private int id;
}

【讨论】:

    猜你喜欢
    • 2017-02-03
    • 2015-09-27
    • 1970-01-01
    • 2019-05-03
    • 1970-01-01
    • 1970-01-01
    • 2015-09-13
    • 2012-09-14
    相关资源
    最近更新 更多