项目中使用了Spring3、Spring Data JPA在开发过程中使用Jetty或Tomcat上没有任何问题,部署在Weblogic10.x上时各种错,目前使用这种组合的项目不在于少数,特此记录一下。
Weblogic10.x只支持JPA1.X,不支持JPA2.X,内置的JPA接口与项目中的Hibernate的hibernate-jpa-2.0-api-1.0.1.Final.jar有冲突,无法部署启动项目,还有就是Weblogic内置的一些版本比较老的jar与项目中使用的也有冲突,道理是一样的,OK,开始!
一、更改persistence.xml名称
我们不想在部署时让Weblogic自动加载persistence.xml文件,所以必须要重命名,比如mps-persistence.xml,然后修改Spring配置文件
<!--WizRtf2Html Charset=0 --><bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceXmlLocation" value="classpath:META-INF/mps-persistence.xml" />
<property name="dataSource" ref="dataSource" />
<property name="persistenceUnitName" value="mps" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="true" />
<property name="database" value="DB2" />
</bean>
</property>
<property name="jpaProperties">
<props>
<prop key="hibernate.dialect">${db.mps.dialect}</prop>
<prop key="hibernate.format_sql">${db.mps.formatSql}</prop>
<prop key="hibernate.hbm2ddl.auto">${db.mps.ddlAuto}</prop>
</props>
</property>
</bean>
注意:
<property name="persistenceXmlLocation" value="classpath:META-INF/mps-persistence.xml" />
此处改为你重命名的文件名称;
二、打ear包
修改好上面的配置文件后,发布还是有问题的,需要把war打成ear包,新建ear工程,然后编写weblogic-application.xml描述文件:
<!--WizRtf2Html Charset=0 --><?xml version="1.0" encoding="UTF-8"?>
<weblogic-application xmlns="http://www.bea.com/ns/weblogic/90">
<prefer-application-packages>
<package-name>antlr.*</package-name>
<package-name>org.apache.commons.*</package-name>
<package-name>org.apache.xmlbeans.*</package-name>
<package-name>org.springframework.*</package-name>
<package-name>org.hibernate.*</package-name>
<package-name>javax.persistence.*</package-name>
<package-name>org.apache.log4j.*</package-name>
</prefer-application-packages>
</weblogic-application>
文件必须打包后必须放在ear根目录下的META-INF文件夹中,与application.xml在同一个文件夹
三、部署ear致Weblogc控制台即可
四、备注
maven ear打包插件
<!--WizRtf2Html Charset=0 --><plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.8</version>
<configuration>
<finalName>${project.artifactId}</finalName>
<version>5</version>
<generatedDescriptorLocation>${basedir}/src/main/application/META-INF</generatedDescriptorLocation>
<modules>
<webModule>
<groupId>com.demo</groupId>
<artifactId>xxx</artifactId>
<uri>xxx.war</uri>
<bundleFileName>xxx.war</bundleFileName>
<contextRoot>/xxx</contextRoot>
</webModule>
</modules>
</configuration>
</plugin>
ear打包命令:ear:ear
ear生成application.xml命令:ear:generate-application-xml
ear项目结构图:
相关推荐
50.10.3. Git Commit Information 50.10.4. Build Information 50.10.5. Writing Custom InfoContributors 51. Monitoring and Management over HTTP 51.1. Customizing the Management Endpoint Paths 51.2. ...
使用Spring Data JPA和Mongo仓库 x. 67.10. 将Spring Data仓库暴露为REST端点 vii. 68. 数据库初始化 i. 68.1. 使用JPA初始化数据库 ii. 68.2. 使用Hibernate初始化数据库 iii. 68.3. 使用Spring JDBC初始化数据库 ...
在IT行业中,Spring框架是Java企业级应用开发的首选,而WebLogic则是一款知名的Java EE应用服务器,常用于部署和管理企业级应用。本篇将深入讲解如何在WebLogic服务器中配置Spring的数据源(Datasource),以便应用...
3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................
12.2.10. 在应用服务器中使用Hibernate的注意事项 12.3. JDO 12.3.1. 建立PersistenceManagerFactory 12.3.2. JdoTemplate和JdoDaoSupport 12.3.3. 基于原生的JDO API实现DAO 12.3.4. 事务管理 12.3.5. ...
12.2.10. 在应用服务器中使用Hibernate的注意事项 12.3. JDO 12.3.1. 建立PersistenceManagerFactory 12.3.2. JdoTemplate和JdoDaoSupport 12.3.3. 基于原生的JDO API实现DAO 12.3.4. 事务管理 12.3.5. ...
3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................
- **事务管理**:Spring提供了对各种数据访问技术的统一事务管理机制,包括JDBC、Hibernate、JPA等,使得事务管理变得更加简单和一致。 #### 3. Spring框架的组成部分 根据提供的图表,Spring框架主要包括以下几个...
6. **部署与测试**:介绍应用的部署流程,包括WAR和EAR文件的打包,以及如何在应用服务器(如Tomcat、Glassfish、WebLogic)上部署和调试。 7. **性能优化与安全**:讨论如何提高J2EE应用的性能,以及实现安全措施...
* Spring/Spring Boot/Spring Security/Spring Data/Spring Data JPA/Spring Data MongoDB/Spring Data Redis 基础:掌握 Spring 生态系统中的各种框架的使用。 阶段七:软技能 * IDE 基础:掌握 Eclipse、...
这些文件可能包含的是EJB 3.x版本的示例代码、教程或项目,帮助初学者理解和实践EJB 3.x中的新特性。通过阅读和分析这些代码,你可以更好地掌握EJB的用法和最佳实践。 总之,EJB作为企业级Java开发的重要组成部分,...
13. **部署与容器**:最终,项目会部署到一个JavaEE兼容的应用服务器,如Tomcat、WildFly或WebLogic,这些服务器提供了运行和管理JavaEE应用的环境。 以上就是游啊游旅游网站可能涉及到的一些JavaEE技术,具体实现...
10. **容器和服务**:Tomcat、Jetty等Web服务器和应用服务器如WebLogic、GlassFish的使用和配置,以及JNDI(Java Naming and Directory Interface)、JTA(Java Transaction API)等服务的了解。 11. **安全性**:...
10. **容器和服务器**:如Tomcat、Jetty、WebLogic、WebSphere等,了解它们的功能、配置和部署应用程序的过程,也是面试中常见的问题。 11. **版本控制与构建工具**:如Git、SVN的使用,以及Maven或Gradle的构建...
10. **部署与容器**:熟悉Tomcat、Glassfish、WebLogic等应用服务器的配置和管理,了解WAR和EAR文件的部署过程。 11. **性能优化**:学习如何通过调整JVM参数、缓存策略、数据库索引和负载均衡来提升J2EE应用的性能...
14. **Tomcat和WebLogic等应用服务器**:了解其角色,配置和部署应用的方法。 15. **分布式系统和集群**:理解负载均衡、session复制、集群高可用性等概念。 16. **安全性**:包括SSL/TLS加密、认证(如Form-Based...
### EJB 3.0 在 WebLogic Server 10 中的支持与扩展 #### EJB 3.0 引入的主要变化 EJB (Enterprise JavaBeans) 3.0 是 Java EE 规范的一个重大更新,它引入了许多重要的改进,极大地简化了企业级应用的开发过程。...