安装weblogic12发生报错
Redhat7.6 安装weblogic12 ,JDK18
1尝试了使用JDK17,JDK19都是这个问题
2查了环境变量也没有解决
3查看日志也不知道是什么原因
4换了操作系统也不行
不知道什么问题引起的
成功安装weblogic12
报错内容如下
[weblogic@localhost u01]$ /opt/jdk17/bin/java -jar fmw_12.2.1.4.0_wls_lite_generic.jar -silent -responseFile /home/weblogic/wls.rsp -invPtrLoc /home/weblogic/oraInst.loc
启动程序日志文件为/tmp/OraInstall2023-03-01_11-14-44AM/launcher2023-03-01_11-14-44AM.log。
正在提取安装程序 完成
检查 CPU 速度是否大于 300 MHz。 实际为 2803.213 MHz 通过
检查交换空间: 必须大于 512 MB。 实际为 3968 MB 通过
检查此平台是否需要 64 位 JVM。 实际为64 通过 (不需要 64 位)
检查临时空间: 必须大于 300 MB。 实际为 36696 MB 通过
准备从/tmp/OraInstall2023-03-01_11-14-44AM启动 Oracle Universal Installer
日志:/tmp/OraInstall2023-03-01_11-14-44AM/install2023-03-01_11-14-44AM.log
3月 01, 2023 11:14:48 上午 com.sun.xml.bind.v2.runtime.reflect.opt.Injector
严重: null
java.security.PrivilegedActionException: java.lang.NoSuchMethodException: sun.misc.Unsafe.defineClass(java.lang.String,[B,int,int,java.lang.ClassLoader,java.security.ProtectionDomain)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:573)
at com.sun.xml.bind.v2.runtime.reflect.opt.Injector.(Injector.java:197)
at com.sun.xml.bind.v2.runtime.reflect.opt.AccessorInjector.prepare(AccessorInjector.java:81)
at com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:179)
at com.sun.xml.bind.v2.runtime.reflect.Accessor$FieldReflection.optimize(Accessor.java:285)
at com.sun.xml.bind.v2.runtime.property.ArrayProperty.(ArrayProperty.java:68)
at com.sun.xml.bind.v2.runtime.property.ArrayERProperty.(ArrayERProperty.java:88)
at com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.(ArrayElementProperty.java:100)
at com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty.(ArrayElementNodeProperty.java:62)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
at com.sun.xml.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:128)
at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.(ClassBeanInfoImpl.java:181)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:514)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.(JAXBContextImpl.java:331)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.(JAXBContextImpl.java:139)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1156)
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:165)
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:289)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:212)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:174)
at javax.xml.bind.ContextFinder.find(ContextFinder.java:345)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:482)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:445)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:356)
at oracle.as.install.engine.config.xml.EngineConfigParser.getEngineConfig(EngineConfigParser.java:65)
at oracle.as.install.engine.InstallEngine.startOperation(InstallEngine.java:442)
at oracle.sysman.oio.oioc.OiocOneClickInstaller.main(OiocOneClickInstaller.java:717)
Caused by: java.lang.NoSuchMethodException: sun.misc.Unsafe.defineClass(java.lang.String,[B,int,int,java.lang.ClassLoader,java.security.ProtectionDomain)
at java.base/java.lang.Class.getMethod(Class.java:2227)
at com.sun.xml.bind.v2.runtime.reflect.opt.Injector$3.run(Injector.java:201)
at com.sun.xml.bind.v2.runtime.reflect.opt.Injector$3.run(Injector.java:197)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:569)
... 34 more
java.lang.NullPointerException: Cannot invoke "java.lang.reflect.Method.invoke(Object, Object[])" because "com.sun.xml.bind.v2.runtime.reflect.opt.Injector.defineClass" is null
at com.sun.xml.bind.v2.runtime.reflect.opt.Injector.inject(Injector.java:311)
at com.sun.xml.bind.v2.runtime.reflect.opt.Injector.inject(Injector.java:97)
at com.sun.xml.bind.v2.runtime.reflect.opt.AccessorInjector.prepare(AccessorInjector.java:87)
at com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:179)
at com.sun.xml.bind.v2.runtime.reflect.Accessor$FieldReflection.optimize(Accessor.java:285)
at com.sun.xml.bind.v2.runtime.property.ArrayProperty.(ArrayProperty.java:68)
at com.sun.xml.bind.v2.runtime.property.ArrayERProperty.(ArrayERProperty.java:88)
at com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.(ArrayElementProperty.java:100)
at com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty.(ArrayElementNodeProperty.java:62)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
at com.sun.xml.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:128)
at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.(ClassBeanInfoImpl.java:181)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:514)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.(JAXBContextImpl.java:331)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.(JAXBContextImpl.java:139)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1156)
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:165)
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:289)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:212)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:174)
at javax.xml.bind.ContextFinder.find(ContextFinder.java:345)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:482)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:445)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:356)
at oracle.as.install.engine.config.xml.EngineConfigParser.getEngineConfig(EngineConfigParser.java:65)
at oracle.as.install.engine.InstallEngine.startOperation(InstallEngine.java:442)
at oracle.sysman.oio.oioc.OiocOneClickInstaller.main(OiocOneClickInstaller.java:717)
java.lang.NullPointerException: Cannot invoke "oracle.as.install.engine.modules.silent.log.SilentInstallTextLogger.printError(String)" because "this.m_consoleHandler" is null
at oracle.as.install.engine.InstallEngine.startOperation(InstallEngine.java:492)
at oracle.sysman.oio.oioc.OiocOneClickInstaller.main(OiocOneClickInstaller.java:717)
无法将日志复制到永久位置: 永久日志目录未知 (空值)。。
建议下载JDK8测试。
参考:
WebLogic Installation Gives Error Cannot invoke "java.lang.reflect.Method.invoke(Object, Object[])" because "com.sun.xml.bind.v2.runtime.reflect.opt.Injector.defineClass" is null at com.sun.xml.bind.v2.runtime.reflect.opt.Injector.inject (文档 ID 2768814.1)
SOLUTION
Download supported Java for WebLogic Server 12.2.1.4 i.e. JDK8 and run the installation steps to launch jar to successfully complete the installation process.
Installing and Configuring Oracle WebLogic Server and Coherence
On Windows operating systems:
"C:\Program Files\Java\jdk1.8.0_211\bin\java" -jar fmw_12.2.1.4.0_wls.jar
该回答引用GPTᴼᴾᴱᴺᴬᴵ
根据报错信息分析,看起来是JAXB(Java Architecture for XML Binding)在加载时出现问题。具体地说,JAXB试图调用sun.misc.Unsafe.defineClass方法,但是该方法在JDK 9中已被删除。因此,建议尝试在WebLogic安装过程中禁用JAXB(在此情况下,WebLogic将使用替代的XML实现),并查看是否可以成功安装WebLogic。
可以通过在安装命令中添加以下参数来禁用JAXB:
-Doracle.xml.schema/UseJAXWSImpl=false
例如:
/opt/jdk17/bin/java -Doracle.xml.schema/UseJAXWSImpl=false -jar fmw_12.2.1.4.0_wls_lite_generic.jar -silent -responseFile /home/weblogic/wls.rsp -invPtrLoc /home/weblogic/oraInst.loc
如果禁用JAXB仍然无法解决问题,则可能需要检查是否存在其他依赖项或配置问题。可以通过查看WebLogic的安装日志文件(install2023-03-01_11-14-44AM.log)来获取更多详细信息,以确定具体的问题。