2017-06-15 167 views
0

我使用VisualVM的工具,試圖建立通過JMX遠程連接。我需要連接到我的遠程服務器,這是Ubuntu 14.04。我的Web應用程序在Docker上運行,jboss/wildfly在docker上運行。以下是dockerfile。無法加載日誌管理「org.jboss.logmanager.LogManager」拋出java.lang.ClassNotFoundException:org.jboss.logmanager.LogManager

FROM jboss/wildfly:10.1.0.Final 
RUN /opt/jboss/wildfly/bin/add-user.sh username password --silent 
ENV JBOSS_LOG_MANAGER_LIB /opt/wildfly-8.2.0.Final/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-1.5.2.Final.jar 
ENV JAVA_OPTS="-XX:PermSize=4096m -XX:MaxPermSize=1024m -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses -Dcom.sun.management.jmxremote.rmi.port=8686 -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=8787 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.local.only=false -Djava.rmi.server.hostname=x.x.x.x -Xbootclasspath/p:$JBOSS_LOG_MANAGER_LIB -Djboss.modules.system.pkgs=org.jboss.logmanager -Djava.util.logging.manager=org.jboss.logmanager.LogManager -Xbootclasspath/p:/opt/wildfly-8.2.0.Final/modules/system/layers/base/org/jboss/logging/main/jboss-logging-3.1.4.GA.jar -Xbootclasspath/p:/opt/wildfly-8.2.0.Final/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-1.5.2.Final.jar" 
ADD project_web.war /home/ubuntu/SampleTest/project 
ADD standalone.xml /opt/wildfly-8.2.0.Final/standalone/configuration 
CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0"] 
ENV OFFLINE_DB_USERNAME username 
ENV OFFLINE_DB_URL jdbc:mysql://x.x.x.x:3306/%s?useLegacyDatetimeCode=false&useTimezone=true&serverTimezone=UTC 
ENV OFFLINE_DB_SERVER_URL jdbc:mysql://x.x.x.x:3306/offlineserver?useLegacyDatetimeCode=false&useTimezone=true&serverTimezone=UTC 
ENV OFFLINE_DB_PASSWORD password 
EXPOSE 8787 

我run命令是 -

sudo docker run -e JAVA_OPTS="-Dlog4j.configurationFile=log4j2_dev.xml -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=8787 -Dcom.sun.management.jmxremote.rmi.port=8686 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=x.x.x.x -Xbootclasspath/p:/opt/wildfly-8.2.0.Final/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-1.5.2.Final.jar -Djboss.modules.system.pkgs=org.jboss.logmanager -Djava.util.logging.manager=org.jboss.logmanager.LogManager -Xbootclasspath/p:/opt/wildfly-8.2.0.Final/modules/system/layers/base/org/jboss/logging/main/jboss-logging-3.1.4.GA.jar -Xbootclasspath/p:/opt/wildfly-8.2.0.Final/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-1.5.2.Final.jar" -p 9595:8080 -p 9696:8080 -p 8787:8787 -v /home/ubuntu/SampleTest/project/logs:/opt/wildfly/standalone/log --restart=always -d sample/testweb:20170615 

通過與容器的id一起執行泊塢窗的日誌,我得到下面的錯誤 -

WARNING: Failed to load the specified log manager class org.jboss.logmanager.LogManager 
Exception in thread "main" java.lang.NoClassDefFoundError: org/jboss/logmanager/Level 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:348) 
    at org.jboss.modules.Module.run(Module.java:320) 
    at org.jboss.modules.Main.main(Main.java:505) 
Caused by: java.lang.ClassNotFoundException: org.jboss.logmanager.Level 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:348) 
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93) 
    ... 4 more 

回答

0

只能指定-Xbootclasspath一次。我的猜測是它拿起最後一個實例,而忽略其他。你需要將它們組合成一個單一的參數。它可能應該看起來像這樣:

-Xbootclasspath/p:/opt/wildfly-8.2.0.Final/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-1.5.2.Final.jar:/opt/wildfly-8.2.0.Final/modules/system/layers/base/org/jboss/logging/main/jboss-logging-3.1.4.GA.jar:/opt/wildfly-8.2.0.Final/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-1.5.2.Final.jar 
+0

感謝您的回覆..但它不工作。 – User123