安装 ODI 会给出“com.sun.xml.bind.v2.runtime.reflect.opt.Injector.defineClass”

问题描述 投票:0回答:2

我尝试安装 Oracle Fusion MiddleWare ODI 12.2.1.4.0 并在运行 jar 文件时出现以下错误。我不知道如何解决这个错误。

C:\Users\test\Downloads\V983389-01>java -jar fmw_12.2.1.4.0_odi.jar
Launcher log file is C:\Users\test\AppData\Local\Temp\OraInstall2022-06-09_10-50-42AM\launcher2022-06-09_10-50-42AM.log.
Extracting the installer . . . . . . . . . . . . . . . . . . . . . . . . Done
Checking if CPU speed is above 300 MHz.   Actual 2592    Passed
Checking monitor: must be configured to display at least 256 colors.   Actual 4294967296    Passed
Checking swap space: must be greater than 512 MB    Passed
Checking if this platform requires a 64-bit JVM.   Actual 64    Passed (64-bit not required)
Checking temp space: must be greater than 300 MB.   Actual 267890 MB    Passed
Preparing to launch the Oracle Universal Installer from C:\Users\test\AppData\Local\Temp\OraInstall2022-06-09_10-50-42AM
Log: C:\Users\test\AppData\Local\Temp\OraInstall2022-06-09_10-50-42AM\install2022-06-09_10-50-42AM.log
Jun 09, 2022 10:51:07 AM com.sun.xml.bind.v2.runtime.reflect.opt.Injector <clinit>
SEVERE: 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.<clinit>(Injector.java:197)
        ... 
        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)
        ... 
        ... 30 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 oracle.sysman.oio.oioc.OiocOneClickInstaller.main(OiocOneClickInstaller.java:717)
Unable to copy the logs to the permanent location: The permanent log directory is unknown (null)..

The log(s) can be found here: C:\Users\test\AppData\Local\Temp\OraInstall2022-06-09_10-50-42AM.
C:\Users\test\Downloads\V983389-01>java -version
java version "18.0.1.1" 2022-04-22
Java(TM) SE Runtime Environment (build 18.0.1.1+2-6)
Java HotSpot(TM) 64-Bit Server VM (build 18.0.1.1+2-6, mixed mode, sharing)
java oracle
2个回答
0
投票

我在使用 jdk-18.0.2.1 和 jdk-21.0.1 安装 odi 12.2.1.4 时遇到了类似的问题。

然后这个问题得到解决,安装并使用JavaSEDevelopment Kit 8u381后安装窗口成功启动。

jdk8u381下载链接

希望有帮助:)


0
投票

非常难过。 是的,适用于 1.8 sdk

© www.soinside.com 2019 - 2024. All rights reserved.