废话不多说下面讲介绍他的具体部署web应用,应该注意哪些问题。

准备工作:

Java JDK 安装及环境配置

  http://jingyan.baidu.com/article/ff41162596a77912e4823716.html

WebLogic 12c 安装包可以去官网下载,也可以去我的云盘下载

  https://yunpan.cn/cvKmivqjrfE6C  访问密码 19e2

WebLogic12c 安装步骤请查看另一篇文章

  http://blog.csdn.net/hanxuemin12345/article/details/46291189

注意第五个步骤时,选择服务器jdk安装的位置。

Weblogic10.x只支持JPA1.X,不支持JPA2.X,内置的JPA接口与项目中的Hibernate的hibernate-jpa-2.0-api-1.0.1.Final.jar有冲突,无法部署启动项目,还有就是Weblogic内置的一些版本比较老的jar与项目中使用的也有冲突

WebLogic发布的主要内容有以下几点

  一、升级jdk(针对原有 12)

WEBLOGIC 修改一下配置,即可

     F:\ORACLE\weblogic\user_projects\domains\dev_domain\bin\setDomainEnv.cmd
set SUN_JAVA_HOME=D:\jdk1.7.0_65
set DEFAULT_SUN_JAVA_HOME=D:\jdk1.7.0_65
set JAVA_HOME=D:\jdk1.7.0_65

注意:<D:\jdk1.7.0_65> 这是我本机的jdk 位置,要根据您服务器的jdk选择具体目录

如果你在安装weblogic的时候,选择了本地安装的jdk位置路径这一个步骤可以省略。

  二、更改 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" />
</bean>

注意:

<property name="persistenceXmlLocation" value="classpath:META-INF/mps-persistence.xml" />

  三、添加weblogic.xml

如果不添加这个weblogic.xml,将会报

  Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean]: Factory method 'entityManagerFactory' threw exception; nested exception is Java.lang.NoSuchMethodError : javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey.……

引起改问题的主要原因是 JPA 2.1 规范中定义了javax.persistence.JoinColumn.foreignKey(); 但是JPA 2.0中却没有, WebLogic 默认会优先使用自己的JPA JAR(2.0)版本, 所以虽然Spring中定义使用 JPA2.1的JAR, 但部署到Weblogic后会不起作用, 引起错误。

XML内容如下:

 <?xml version="1.0" encoding="UTF-8"?>

 <weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd">
<context-root>PosService</context-root>
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
<show-archived-real-path-enabled>true</show-archived-real-path-enabled>
</container-descriptor>
</weblogic-web-app>

   四、Jpa2.0应用

  在%WLS_HOME%\modules\ 目录中添加 hibernate-jpa-2.1-api-1.0.0.Final.jar

    更改 startweblogic.cmd 文件【 set CLASSPATH=%WL_HOME%\modules\hibernate-jpa-2.1-api-1.0.0.Final.jar;%WL_HOME%\lib\mbeantypes\WantongTechAuthenticator.jar;%SAVE_CLASSPATH% 】

  hibernate-jpa-2.1-api-1.0.0.Final.jar下载 https://yunpan.cn/cvZeTSqPd3qE7  访问密码 246a

  五、目录中UTF-8项目sitemesh 页面乱码

  六、坑

  HTTP1.1 有个  Transfer-Encoding: chunked 特性  会造成内容 返回时 分多次返回(在建立连接后,有内容就输出,不指定 CONTENT LENGTH)。非标准访问时注意下。
  如POS 机访问 WEBSERVICE
  七、bug
现象 解决 最优
<Error> <HTTP> <BEA-101083>
<Error> <Socket> <BEA-000403>
你的主机中的软件中止了一个已建立的连接。
据说是weblogic12.1.2的一个bug ,
官方出了一个补丁,补丁编号:18373180:
MERGE REQUEST ON TOP OF 12.1.2.0.0 FOR BUGS 16851678 18073982解决这个问题
最近WEBLOGIC SUPPORT 在维护 http://support.oracle.com/
附件暂缓上传。或直接安装 12.1.2以后的版本
部署这个版本 weblogic 12.2.1
java 反序列化 开源的坑
打补丁或是升级新版本。
 

感谢来自斯登闯前辈的指导。

weblogic 12c web部署注意的问题的更多相关文章

  1. WebLogic 12c Linux 命令行 安装

    最近负责在Linux上安装WebLogic Server 12c,客户说要安装最新的版本,版本号为 12.1.X(12.1.2,12.1.3).开始以为和旧版安装一样,使用控制台的方式,下载bin文件 ...

  2. Weblogic 12c 一个domain建多个server(端口)

    一.基本概念 我觉得如果刚接触Weblogic,首先应该做的是明白几个基本的概念,可以从一张图入手: 1. 域(domain) 它是一个基本管理单元: 每个域包含一个管理服务器(Administrat ...

  3. WebLogic 12c Linux 命令行 静默安装

    CentOS 6.3安装配置Weblogic 10  http://www.linuxidc.com/Linux/2014-02/96918.htm Oracle WebLogic 11g 安装部署文 ...

  4. vmware安装cent os 6.5 + oracle 11g xe + jboss eap 6.2 + weblogic 12c+ webshpere mq 7.5

    前言: mac系统发展速度确实很快,短短数年,mac os上已经能网银支付(中行.招行.工商.支付宝等均已全面支持mac os了),windows上的经典常用软件:qq.飞信.旺旺.有道词典.有道云笔 ...

  5. Weblogic 12c 负载均衡和session复制

    在上一篇,我们介绍了weblogic集群的部署和session的复制,如何将请求负载均衡到这个三个服务器上呢? 这里提供两种方式:(1)weblogic自带的proxy代理        (2) ng ...

  6. weblogic 12c下jxls导出excel报错Could not initialize class org.apache.poi.xssf.usermodel.XSSFVMLDrawing

    周一,开发反馈weblogic 12c下jxls导出excel报错,公司环境和UAT环境均报错,看日志如下: 2016-06-08 09:16:55,825 ERROR org.jxls.util.T ...

  7. Walle 瓦力 web部署系统

    Walle 一个web部署系统工具,可能也是个持续发布工具,配置简单.功能完善.界面流畅.开箱即用! 安装步骤: 1. git clone 首先配置成功(去百度找答案) 打开git bash命令窗口执 ...

  8. NET站点Web部署

    NET站点Web部署(一键发布的实现) 在开发过程中经常需要发布到开发环境.测试环境或者预发布环境上给其他同事进行测试验证效果等等,每次发布都要备份,拷贝,修改配置文件等等重复操作非常的麻烦,效率大打 ...

  9. 理解 IntelliJ IDEA 的项目配置和Web部署

    1.项目配置的理解 IDEA 中最重要的各种设置项,就是这个 Project Structre 了,关乎你的项目运行,缺胳膊少腿都不行.最近公司正好也是用之前自己比较熟悉的IDEA而不是Eclipse ...

随机推荐

  1. [Android Pro] Android开发实践:自定义ViewGroup的onLayout()分析

    reference to : http://www.linuxidc.com/Linux/2014-12/110165.htm 前一篇文章主要讲了自定义View为什么要重载onMeasure()方法( ...

  2. To Learn

    1. Hybrid:Ionic.Cordova.AngularJS等框架 webView,处理H5 2. View.ViewGroup android.view.View  public class ...

  3. Hadoop单机模式安装-(1)安装设置虚拟环境

    网络上关于如何单机模式安装Hadoop的文章很多,按照其步骤走下来多数都失败,按照其操作弯路走过了不少但终究还是把问题都解决了,所以顺便自己详细记录下完整的安装过程. 此篇主要介绍如何在Windows ...

  4. WPF时间格式化

    日期格式化示例: <TextBox  Name="txtCreateTime" HorizontalAlignment="Left" Width=&quo ...

  5. 【Hibernate框架】批量操作Batch总结

    在我们做.net系统的时候,所做的最常见的批量操作就是批量导入.插入.更新.删除等等,以前我们怎么做呢?基本上有以下几种方式: 1.利用循环调用insert方法,一条条插入. public boole ...

  6. Python 学习第十九天 django知识

    一,django 知识总结 1,同一个name属性的标签,多个值获取 <form action="/login/" method="POST" encty ...

  7. 1208PHP语句

    var_dump(empty($a)); 判断变量是否为空var_dump(isset($a)); 判断变量是否定义 unset(变量); 删除变量 &代表变量的地址:$a = ;$b = & ...

  8. selenium使用笔记(一)

    有时候在交流群里经常会看到这样的问题,selenium能进行性能测试吗?selenium1和selenium2有什么区别等等问题,在这里谈一下自己学习和工作以后对selenium的认识.我所记录的东西 ...

  9. Java EE之一个表单两个按钮响应不同界面(登录与注册)

    1.在前端,使用javaScript实现: <script> function logup(){ var element = document.getElementById('login- ...

  10. DelphiXE10.1项目中增加预编译的方法

    操作: 菜单选择Proceject->Options->Delphi Compilerz在Conditional Defines(第一行)中添加预编译标识.例:VCL代码:uses{$IF ...