0

在我运行时 java 更新“什么都没有”之后发生

java -Djavax.net.ssl.trustStore=cert.cer -Djavax.net.ssl.trustStorePassword=123456 -jar client.jar

我没有输出,终端一直忙到 ctrl+c

如果我在旧环境中运行它就可以了,例如:

/usr/lib/jvm/java-6-openjdk-i386/bin/java -Djavax.net.ssl.trustStore=cert.cer -Djavax.net.ssl.trustStorePassword=123456 -jar client.jar

什么可能导致这样的问题,我该如何调试它?

java版本

java version "1.7.0_25"
OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1ubuntu0.12.04.2)
OpenJDK Server VM (build 23.7-b01, mixed mode)
4

2 回答 2

0

它使用任何CPU吗?

要获取线程转储,请发送此信号:

杀死 -3

(线程转储将被写入标准输出)。

您还可以尝试扩展 jar,在 META-INF/MANIFEST.MF 中查找主类,并明确指定主类:

java -jar jarname.jar the.main.Class

于 2013-11-05T10:12:18.580 回答
0

基于线程堆栈转储...

"main" prio=10 tid=0xb6506800 nid=0xfd2 runnable [0xb66de000]
   java.lang.Thread.State: RUNNABLE
        at sun.reflect.Reflection.getCallerClass0(Native Method)
        at sun.reflect.Reflection.getCallerClass(Reflection.java:68)
        at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:86)
        at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:66)
        at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:82)
        at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:34)
        at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:360)
        at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:319)
        at se.poject.encoder.Client.<clinit>(Client.java:27)

...看起来log4j中发生了一些奇怪的事情。问题从您Client的第 27 行开始(这似乎是某种静态初始化)。它似乎试图获得Logger...并陷入 log4j 实现中某种“忙碌”循环。


我怀疑这是 Log4j 中的一个错误。

  • 看来(从 log4j 包名称)您正在使用 Log4j 2.0。这仍处于“测试版”中。你在最前沿工作...

  • 堆栈跟踪中的行号似乎与 beta-5 或 beta-6 的源代码相匹配。log4j 2.0 的最新版本是 beta-9。尝试升级到您可以获得的最新测试版。

于 2013-11-05T11:22:02.860 回答