【发布时间】:2016-02-26 12:04:21
【问题描述】:
我正在尝试使用 jpa、hibernate、jersey 为 websphere 构建一个 spring boot 项目。
当我知道 websphere 只支持 JPA 2.0 后,我找到了这篇文章 (Halo, I am article) 并尝试关注它。但是,这对我来说似乎不起作用。抛出异常
原因:java.lang.ClassCastException:com.ibm.websphere.persistence.PersistenceProviderImpl 与 javax.persistence.spi.PersistenceProvider 不兼容 在 javax.persistence.Persistence$1.isLoaded(Persistence.java:77) 在 org.hibernate.validator.internal.engine.resolver.JPATraversableResolver.isReachable(JPATraversableResolver.java:56) 在 org.hibernate.validator.internal.engine.resolver.DefaultTraversableResolver.isReachable(DefaultTraversableResolver.java:137) 在 org.hibernate.validator.internal.engine.resolver.CachingTraversableResolverForSingleValidation.isReachable(CachingTraversableResolverForSingleValidation.java:46) 在 org.hibernate.validator.internal.engine.ValidatorImpl.isReachable(ValidatorImpl.java:1396) ... 137 更多
我的 pom.xml 设置如下 ` org.springframework.boot spring-boot-starter-parent 1.2.7.发布
<properties>
<start-class>com.jersey.Application</start-class>
<jersey-version>2.7</jersey-version>
<jackson-version>2.4.3</jackson-version>
<java.version>1.7</java.version>
<servlet-api.version>3.0.1</servlet-api.version>
</properties>
<dependencies>
<!-- Spring -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<exclusions>
<exclusion>
<groupId>org.hibernate</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jersey</artifactId>
</dependency>
<!-- End Spring -->
<!-- Jackson -->
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>${jackson-version}</version>
</dependency>
<!-- End Jackson -->
<!-- Guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
</dependency>
<!-- End Guava -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.2.15.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.2.15.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-releases</id>
<url>http://repo.spring.io/libs-release</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-releases</id>
<url>http://repo.spring.io/libs-release</url>
</pluginRepository>
</pluginRepositories>`
我想知道将spring boot部署到websphere有什么遗漏吗?
更新
我做了什么 1)添加休眠版本并降级到4.2.15:Final 2)将父级设置为类加载器
我想知道有没有可以部署到 websphere 的完整示例?
【问题讨论】:
标签: spring hibernate jpa websphere-8