Oracle BPM Suite和JDeveloper打补丁
今天在Oracle的ATeam博客上看BPM Suite相关的文章,看到这一篇《BPMN process editor problems in 11.1.1.6 (update)》,地址是http://www.ateam-oracle.com/bpmn-process-editor-problems-in-11-1-1-6-update/。
说到关于流程编辑器的一个空指针异常,经常会有弹框出来,记起来好像我用的版本也是这样。博客上提供了一个补丁程序,修复了这个错误。所以就动起来,自己动手把这个补丁打上去。
这个补丁需要oracle support的账号,还好我有一个,哈哈。这个补丁分两部分,一部分是打在SOA Suite上的,一部分是打在jdeveloper上的。
先讲一下怎么在SOA Suite上打补丁。在p13088538_111160_Generic\13088538\opatch\13088538目录下有README.txt,有英文的操作指导。
首先要设置Oracle_Home,我这里参照文档设置路径为D:\Oracle\Middleware6\Oracle_SOA1。
然后在命令行下进入目录D:\Oracle\Middleware6\Oracle_SOA1\OPatch,在下面执行命令opatch lsinventory -jdk "C:\Progra~1\Java\jdk1.6.0_43",如果正常响应,说明可以往下打补丁。
需要注意的是,一定要输入C:\Progra~1\Java\jdk1.6.0_43而不是C:\Program Files\Java\jdk1.6.0_43,命令里识别不了空格。
进入目录p13088538_111160_Generic\13088538\opatch\13088538下,执行命令D:\Oracle\Middleware6\Oracle_SOA1\OPatch\opatch apply -jdk "C:\Progra~1\Java\jdk1.6.0_43",执行成功会有响应提示。
通过D:\Oracle\Middleware6\Oracle_SOA1\OPatch\opatch lsinventory -jdk "C:\Progra~1\Java\jdk1.6.0_43"命令可以看到刚刚打上去的补丁。
接下来讲一下怎么在JDeveloper里打补丁。在p13088538_111160_Generic\13088538\sa_opatch\13088538目录下有README.txt,有英文的操作指导。
首先要设置Oracle_Home,我这里参照文档设置路径为D:\Oracle\JDeveloper11.1.1.6\jdeveloper。
然后在命令行下进入目录D:\Oracle\JDeveloper11.1.1.6\jdeveloper\OPatch,在下面执行命令opatch lsinventory -jdk "C:\Progra~1\Java\jdk1.6.0_43",如果正常响应,说明可以往下打补丁。
需要注意的是,一定要输入C:\Progra~1\Java\jdk1.6.0_43而不是C:\Program Files\Java\jdk1.6.0_43,命令里识别不了空格。
进入目录p13088538_111160_Generic\13088538\opatch\13088538下,先执行命令set _JAVA_OPTIONS="-Duser.language=en"[如果不执行的话安装补丁会失败]然后再执行命令D:\Oracle\JDeveloper11.1.1.6\jdeveloper\OPatch\opatch apply -jdk "C:\Progra~1\Java\jdk1.6.0_43",执行成功会有响应提示。
通过D:\Oracle\JDeveloper11.1.1.6\jdeveloper\OPatch\opatch lsinventory -jdk "C:\Progra~1\Java\jdk1.6.0_43"命令可以看到刚刚打上去的补丁。
如果安装完补丁之后出现NoClassDefFoundError in o.bpm.fusion.ui.editor.FusionEditor的错误,有可能是重复安装产生的,这时候可以用opatch roolback -id 13088538 -jdk "C:\Progra~1\Java\jdk1.6.0_43"命令来卸载补丁,然后再重新安装。
打完补丁之后记得删除环境变量Oracle_Home,不然本机的Oracle数据库的TNS Listener将无法启动。
EOF!