【问题标题】:Tomcat server does not start with DCEVM patched JRETomcat 服务器不使用 DCEVM 修补的 JRE 启动
【发布时间】:2015-11-18 10:38:52
【问题描述】:

我已按照here中提到的步骤进行操作

  1. 在JDK中安装“jvm.dll”DCEVM补丁(成功。DCEVM补丁文件夹已创建)
  2. 在 Eclipse - Tomcat 服务器 - 运行时环境 - JRE 必须映射到在步骤 1 中修补 DECVM 的 JDK 的同一 JRE
  3. Tomcat - 在 VM 参数中添加“-XXaltjvm="dcevm" -javaagent:\HotswapAgent.jar”(VM 参数 -Dcatalina.base="C:\MCA\workspaces\MCA\.metadata\.plugins\org.eclipse.wst.server.core\tmp0" -Dcatalina.home="C:\MCA\tools\apache-tomcat-7.0.54" -Dwtp.deploy="C:\MCA\workspaces\MCA\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps" -Djava.endorsed.dirs="C:\MCA\tools\apache-tomcat-7.0.54\endorsed" -XXaltjvm="dcevm" -javaagent:C:\MCA\tools\dcevm\hotswap-agent.jar
  4. 在 Tomcat Web 模块中禁用“自动重新加载”

每当我尝试使用时,就会抛出异常。

下面是堆栈跟踪。

 HOTSWAP AGENT: 17:15:46.234 INFO (org.hotswap.agent.HotswapAgent) - Loading Hotswap agent {0.3.0-SNAPSHOT} - unlimited runtime class redefinition.
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:382)
    at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:397)
Caused by: java.lang.NullPointerException
    at org.hotswap.agent.config.PluginConfiguration.<init>(PluginConfiguration.java:44)
    at org.hotswap.agent.config.PluginManager.init(PluginManager.java:95)
    at org.hotswap.agent.HotswapAgent.premain(HotswapAgent.java:42)
    ... 6 more
FATAL ERROR in native method: processing of -javaagent failed
Exception in thread "main" 

Java - 版本是

java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

here 下载的安装程序文件。

【问题讨论】:

  • 你试过增加超时时间吗!
  • 如果启动时没有异常,请尝试增加服务器启动时间

标签: java eclipse tomcat hotswap dcevm


【解决方案1】:

Here 它被描述为由您获得的相同 NPE 引起的非常相似的错误:

Caused by: java.lang.NullPointerException
   at org.hotswap.agent.config.PluginConfiguration.<init>(PluginConfiguration.java:44)

解决方案似乎是从 Oracle JDK 切换到 OpenJDK。

所以,如果您使用的是 Oracle JDK,请尝试更改它。如果您已经在使用 OpenJDK,请忘记我的回答。

希望对你有帮助!

【讨论】:

  • 如何从 Oracle JDK 切换到 Open JDK。是否会对其他正在运行的应用程序产生影响?
  • 这是另一个JDK实现,所以你必须删除/卸载Oracle JDK并安装OpenJDK,然后重新安装DCEVM并重新配置Eclipse。预计不会对应用程序产生影响,here您有更多信息。
  • 以及如何检查我使用的是哪个jdk?
  • 在 shell 中写入 java -version 它将打印有关安装了哪个 jvm 的信息
  • 它在问题中。我认为是 oracle jdk。
【解决方案2】:

我通过将 JDK1.7_80 更改为 JDK1.7_55 解决了这个问题。

【讨论】:

  • 此问题已在 hotswap-agent 存储库中修复。
【解决方案3】:

当我的热插拔代理路径错误时,我遇到了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-05
    • 2018-08-26
    • 2017-03-21
    • 2017-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多