weblogic 12c web部署注意的问题

废话不多说下面讲介绍他的具体部署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 修改一下配置,即可

1     F:\ORACLE\weblogic\user_projects\domains\dev_domain\bin\setDomainEnv.cmd
2     set SUN_JAVA_HOME=D:\jdk1.7.0_65
3     set DEFAULT_SUN_JAVA_HOME=D:\jdk1.7.0_65
4     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配置文件

1 <!--WizRtf2Html Charset=0 -->
2 <bean id="entityManagerFactory"      class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
3 <property name="persistenceXmlLocation" value="classpath:META-INF/mps-persistence.xml" />
4 <property name="dataSource" ref="dataSource" />
5 </bean>

注意:

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

  三、添加weblogic.xml

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

1   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内容如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2
 3 <weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
 5     http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd">
 6     <context-root>PosService</context-root>
 7     <container-descriptor>
 8          <prefer-web-inf-classes>true</prefer-web-inf-classes>
 9         <show-archived-real-path-enabled>true</show-archived-real-path-enabled>
10     </container-descriptor>
11 </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 反序列化 开源的坑
打补丁或是升级新版本。
 

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

时间: 2024-10-31 22:46:00

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

WebLogic 12c Linux 命令行 安装

最近负责在Linux上安装WebLogic Server 12c,客户说要安装最新的版本,版本号为 12.1.X(12.1.2,12.1.3).开始以为和旧版安装一样,使用控制台的方式,下载bin文件,然后一步步在console执行下来就行了.万万没想到,从12C版本后,bin文件不提供了,改成全系统通用的jar文件 (generic.jar).试了半天原来那种安装方式不能用了,非得用图形界面安装.由于服务器是在其他地方,肯定不能跑到主机的地址那边.于是各种google.各种找材料,最后终于找到

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

一.基本概念 我觉得如果刚接触Weblogic,首先应该做的是明白几个基本的概念,可以从一张图入手: 1. 域(domain) 它是一个基本管理单元: 每个域包含一个管理服务器(Administration)和若干被管理服务器(Managed Server): 可以看出,域是一个逻辑上的概念,它是服务器的容器.一个域有且只有一个管理服务器. 2. 服务器(Server) 服务是JVM的一个实例,在机器上运行,且拥有自己的内存空间. (1) Administration Server(管理服务器)

【weblogic】weblogic12c部署文档

创建weblogic用户和weblogic组:groupadd weblogicuseradd –d /weblogic weblogic –g weblogic 2 将jdk1.7的安装包放在/usr/local下,以便后面配置时调用. 3.使用weblogic用户在vim ~/.bashrc,设置环境变量,添加下面橙色框中的内容. export JAVA_HOME=/usr/local/jdk1.7export JRE_HOME=/usr/local/jdk1.7/jreexport CLA

linux 上 weblogic 12c 版本的安装

下面详细的来一遍 linux 上 weblogic 的安装,这里注意,如果是安装 10.3.6版本的weblogic,在提供邮箱地址的界面会出现取消不掉√的情况,这时候是可以继续下一步安装的 机器:centos 6.5 64 位 一.部署环境 最开始肯定就是先部好相关的环境了,因为weblogic 12c 不支持 jdk 1.7,所以请大家下好 jdk 1.8,并配置好 JAVA_HOME,接着是去 oracle 官网下载 weblogic 的包,解压后如图所示 二.在linux上进行命令操作,

web部署

Web 部署及网站访问统计

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.TransformerFactory.createTransformer(TransformerFactory.java:40)[org.jxls.util.TransformerFactory] - Method createTransformer of org.jxls.transform.poi

NET站点Web部署

NET站点Web部署(一键发布的实现) 在开发过程中经常需要发布到开发环境.测试环境或者预发布环境上给其他同事进行测试验证效果等等,每次发布都要备份,拷贝,修改配置文件等等重复操作非常的麻烦,效率大打折扣,而web部署提供了这样的解决方案:在服务端安装Web Deploy服务,由Web Deploy服务完成备份发布等操作,今天小编就以图文并茂的方式来完整介绍这一安装部署的过程,具体有以下两大部分: 第一部分:Web Deploy服务的安装与设置 一.安装IIS管理服务:打开服务器管理器 - 添加

Django Web部署平台

一.基础环境Django Web部署平台 1.角色.ip.版本.内核.软件 serverA 10.1.10.236 3.16.0-4-amd64 8.1 nginx uwsgi django python python-2.7.9 nginx-1.6.2 uwsgi-2.0.11.2 django-1.8.6 2.安装基础包 1)安装基础包 apt-get -y install gcc make python-dev python-setuptools python curl tree 2)使用

web部署 ClassNotFound问题

最近转向做java web,web部署时经常遇到类找不到的情况,环境是eclipse kelper.jboss 1.7.项目在转向用maven构建,能较方便解决jar包问题,有兴趣可尝试. ClassNotFound原因归纳有3种: 1.如果是第三方jar包中的类找不到,应首先找到部署web工程的地方,比如jboss下的deployment下,查看是否将需要用到的jar包部署成功了.大多数原因就这么直观,就是因为没这个jar包,所以找不到那个类. 2.如果是OSGI工程,那么使用的第3方jar包