为什么服务器启动“无法定义类”WARN?

时间:2014-10-23 14:39:35

标签: java logging jboss liquibase

当我在JBoss中执行liquibase时,我得到以下WARN,但所有内容都正确更新:

12:32:01,499 WARN  [org.jboss.modules] (ServerService Thread Pool -- 49) Failed to define class liquibase.sdk.watch.WatchCommand$DynamicContentHandler in Module "deployment.WebStories.war:main" from Service Module Loader: java.lang.LinkageError: Failed to link liquibase/sdk/watch/WatchCommand$DynamicContentHandler (Module "deployment.WebStories.war:main" from Service Module Loader)
    at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:407) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:254) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:73) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.Module.loadModuleClass(Module.java:518) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:182) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.2.0.CR1]
    at liquibase.servicelocator.DefaultPackageScanClassResolver.loadClass(DefaultPackageScanClassResolver.java:358) [liquibase-core-3.2.2.jar:]
    at liquibase.servicelocator.DefaultPackageScanClassResolver.loadImplementationsInJar(DefaultPackageScanClassResolver.java:406) [liquibase-core-3.2.2.jar:]
    at liquibase.servicelocator.DefaultPackageScanClassResolver.findAllClasses(DefaultPackageScanClassResolver.java:226) [liquibase-core-3.2.2.jar:]
    at liquibase.servicelocator.DefaultPackageScanClassResolver.find(DefaultPackageScanClassResolver.java:116) [liquibase-core-3.2.2.jar:]
    at liquibase.servicelocator.DefaultPackageScanClassResolver.findImplementations(DefaultPackageScanClassResolver.java:84) [liquibase-core-3.2.2.jar:]
    at liquibase.servicelocator.ServiceLocator.findClassesImpl(ServiceLocator.java:202) [liquibase-core-3.2.2.jar:]
    at liquibase.servicelocator.ServiceLocator.findClasses(ServiceLocator.java:177) [liquibase-core-3.2.2.jar:]
    at liquibase.database.DatabaseFactory.<init>(DatabaseFactory.java:25) [liquibase-core-3.2.2.jar:]
    at liquibase.database.DatabaseFactory.getInstance(DatabaseFactory.java:40) [liquibase-core-3.2.2.jar:]
    at liquibase.integration.servlet.LiquibaseServletListener.executeUpdate(LiquibaseServletListener.java:211) [liquibase-core-3.2.2.jar:]
    at liquibase.integration.servlet.LiquibaseServletListener.contextInitialized(LiquibaseServletListener.java:106) [liquibase-core-3.2.2.jar:]
    at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3777) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
    at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:156) [jboss-as-web-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]
    at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60) [jboss-as-web-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]
    at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93) [jboss-as-web-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_11]
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [rt.jar:1.7.0_11]
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) [rt.jar:1.7.0_11]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_11]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_11]
    at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_11]
    at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: java.lang.NoClassDefFoundError: org/eclipse/jetty/server/handler/AbstractHandler
    at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.7.0_11]
    at java.lang.ClassLoader.defineClass(ClassLoader.java:791) [rt.jar:1.7.0_11]
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) [rt.jar:1.7.0_11]
    at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:338) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:402) [jboss-modules.jar:1.2.0.CR1]
    ... 31 more
Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.server.handler.AbstractHandler from [Module "deployment.WebStories.war:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.2.0.CR1]
    ... 36 more

12:32:01,532 WARN  [org.jboss.modules] (ServerService Thread Pool -- 49) Failed to define class liquibase.sdk.supplier.database.AllDatabaseTypes in Module "deployment.WebStories.war:main" from Service Module Loader: java.lang.LinkageError: Failed to link liquibase/sdk/supplier/database/AllDatabaseTypes (Module "deployment.WebStories.war:main" from Service Module Loader)
    at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:407) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:254) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:73) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.Module.loadModuleClass(Module.java:518) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:182) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.2.0.CR1]
    at liquibase.servicelocator.DefaultPackageScanClassResolver.loadClass(DefaultPackageScanClassResolver.java:358) [liquibase-core-3.2.2.jar:]
    at liquibase.servicelocator.DefaultPackageScanClassResolver.loadImplementationsInJar(DefaultPackageScanClassResolver.java:406) [liquibase-core-3.2.2.jar:]
    at liquibase.servicelocator.DefaultPackageScanClassResolver.findAllClasses(DefaultPackageScanClassResolver.java:226) [liquibase-core-3.2.2.jar:]
    at liquibase.servicelocator.DefaultPackageScanClassResolver.find(DefaultPackageScanClassResolver.java:116) [liquibase-core-3.2.2.jar:]
    at liquibase.servicelocator.DefaultPackageScanClassResolver.findImplementations(DefaultPackageScanClassResolver.java:84) [liquibase-core-3.2.2.jar:]
    at liquibase.servicelocator.ServiceLocator.findClassesImpl(ServiceLocator.java:202) [liquibase-core-3.2.2.jar:]
    at liquibase.servicelocator.ServiceLocator.findClasses(ServiceLocator.java:177) [liquibase-core-3.2.2.jar:]
    at liquibase.database.DatabaseFactory.<init>(DatabaseFactory.java:25) [liquibase-core-3.2.2.jar:]
    at liquibase.database.DatabaseFactory.getInstance(DatabaseFactory.java:40) [liquibase-core-3.2.2.jar:]
    at liquibase.integration.servlet.LiquibaseServletListener.executeUpdate(LiquibaseServletListener.java:211) [liquibase-core-3.2.2.jar:]
    at liquibase.integration.servlet.LiquibaseServletListener.contextInitialized(LiquibaseServletListener.java:106) [liquibase-core-3.2.2.jar:]
    at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3777) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
    at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:156) [jboss-as-web-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]
    at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60) [jboss-as-web-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]
    at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93) [jboss-as-web-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_11]
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [rt.jar:1.7.0_11]
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) [rt.jar:1.7.0_11]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_11]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_11]
    at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_11]
    at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: java.lang.NoClassDefFoundError: org/junit/experimental/theories/ParameterSupplier
    at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.7.0_11]
    at java.lang.ClassLoader.defineClass(ClassLoader.java:791) [rt.jar:1.7.0_11]
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) [rt.jar:1.7.0_11]
    at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:338) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:402) [jboss-modules.jar:1.2.0.CR1]
    ... 31 more
Caused by: java.lang.ClassNotFoundException: org.junit.experimental.theories.ParameterSupplier from [Module "deployment.WebStories.war:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.2.0.CR1]
    ... 36 more

12:32:01,546 WARN  [org.jboss.modules] (ServerService Thread Pool -- 49) Failed to define class liquibase.sdk.supplier.database.AllDatabases in Module "deployment.WebStories.war:main" from Service Module Loader: java.lang.LinkageError: Failed to link liquibase/sdk/supplier/database/AllDatabases (Module "deployment.WebStories.war:main" from Service Module Loader)
    at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:407) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:254) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:73) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.Module.loadModuleClass(Module.java:518) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:182) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.2.0.CR1]
    at liquibase.servicelocator.DefaultPackageScanClassResolver.loadClass(DefaultPackageScanClassResolver.java:358) [liquibase-core-3.2.2.jar:]
    at liquibase.servicelocator.DefaultPackageScanClassResolver.loadImplementationsInJar(DefaultPackageScanClassResolver.java:406) [liquibase-core-3.2.2.jar:]
    at liquibase.servicelocator.DefaultPackageScanClassResolver.findAllClasses(DefaultPackageScanClassResolver.java:226) [liquibase-core-3.2.2.jar:]
    at liquibase.servicelocator.DefaultPackageScanClassResolver.find(DefaultPackageScanClassResolver.java:116) [liquibase-core-3.2.2.jar:]
    at liquibase.servicelocator.DefaultPackageScanClassResolver.findImplementations(DefaultPackageScanClassResolver.java:84) [liquibase-core-3.2.2.jar:]
    at liquibase.servicelocator.ServiceLocator.findClassesImpl(ServiceLocator.java:202) [liquibase-core-3.2.2.jar:]
    at liquibase.servicelocator.ServiceLocator.findClasses(ServiceLocator.java:177) [liquibase-core-3.2.2.jar:]
    at liquibase.database.DatabaseFactory.<init>(DatabaseFactory.java:25) [liquibase-core-3.2.2.jar:]
    at liquibase.database.DatabaseFactory.getInstance(DatabaseFactory.java:40) [liquibase-core-3.2.2.jar:]
    at liquibase.integration.servlet.LiquibaseServletListener.executeUpdate(LiquibaseServletListener.java:211) [liquibase-core-3.2.2.jar:]
    at liquibase.integration.servlet.LiquibaseServletListener.contextInitialized(LiquibaseServletListener.java:106) [liquibase-core-3.2.2.jar:]
    at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:3777) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
    at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:156) [jboss-as-web-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]
    at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60) [jboss-as-web-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]
    at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93) [jboss-as-web-7.2.0.Alpha1-redhat-4.jar:7.2.0.Alpha1-redhat-4]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_11]
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [rt.jar:1.7.0_11]
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) [rt.jar:1.7.0_11]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_11]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_11]
    at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_11]
    at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: java.lang.NoClassDefFoundError: org/junit/experimental/theories/ParameterSupplier
    at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.7.0_11]
    at java.lang.ClassLoader.defineClass(ClassLoader.java:791) [rt.jar:1.7.0_11]
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) [rt.jar:1.7.0_11]
    at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:338) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:402) [jboss-modules.jar:1.2.0.CR1]
    ... 31 more
Caused by: java.lang.ClassNotFoundException: org.junit.experimental.theories.ParameterSupplier from [Module "deployment.WebStories.war:main" from Service Module Loader]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.2.0.CR1]
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.2.0.CR1]
    ... 36 more

12:32:01,652 ERROR [stderr] (ServerService Thread Pool -- 49) INFO 23/10/14 12:32: liquibase: Successfully acquired change log lock

12:32:02,336 ERROR [stderr] (ServerService Thread Pool -- 49) INFO 23/10/14 12:32: liquibase: Reading from public.databasechangelog

12:32:02,383 ERROR [stderr] (ServerService Thread Pool -- 49) INFO 23/10/14 12:32: liquibase: Successfully released change log lock

服务器启动中的任何堆栈跟踪都被视为错误,尽管它被标记为WARN,INFO或NOTHING。

为什么会这样? 如何从服务器启动中删除此堆栈跟踪?

3 个答案:

答案 0 :(得分:10)

Liquibase使用您的类加载器在内部扫描您的类路径,以查找可能是Liquibase扩展的类。部分扫描是打几个与liquibase jar捆绑在一起的类,但不属于正常的liquibase update进程。

特别是,它正在检查显示数据库和liquibase状态的代码,这些代码可以用于演示和故障排除以及可用于测试扩展的其他代码。

这些非标准用法类引用了其他依赖项,例如jetty和junit,这些依赖项通常在生产环境中不可用,因此Liquibase期望一些ClassNotFoundExceptions和DEBUG级别记录它们,继续运行,并按照您的看法正确更新。

在您的情况下,似乎JBoss类加载器还有一个额外的功能,即在WARN级别记录它运行的任何ClassNotFoundExceptions,将其抛出链接到Liquibase忽略它的位置。

未来的Liquibase版本将更好地分配&#34;工具&#34;代码库和&#34;标准&#34;代码库,但现在你的选择是:

  • 在类路径中包含缺少的依赖项(基于堆栈跟踪的jetty和junit)
  • 创建足够的存根类,与引用的jetty和junit类相同,以使类加载器满意。
  • 设置&#34; org.jboss.modules&#34;的日志级别到ERROR以便不记录WARN级日志

答案 1 :(得分:6)

我使用过这个类,很可能 在jetty上工作,但在所有其他服务器上工作(tomcat,jboss / wildfly,weblogic,websphere,glassfish, tomee,...) 我已经在tomcat和wildfly上测试了它。

package org.eclipse.jetty.server.handler;

/**
 * Workaround for this issues in liquibase.
 * http://stackoverflow.com/questions/26530677/why-failed-to-define-class-warn-from-server-startup.
 * https://liquibase.jira.com/browse/CORE-2024.
 *
 * @author cilap
 *
 */
public class AbstractHandler {

   /**
    * Trace to logfile the workaround.
    */
   public AbstractHandler() {
      System.err.println("Workaround for http://stackoverflow.com/questions    /26530677/why-failed-to-define-class-warn-from-server-startup and "
            + "https://liquibase.jira.com/browse/CORE-2024");
      System.err.println("please remove this from the repository as soon as the bug is fixed on liquibase.");
   }
}

这不太好但是有效。

<强> EDIT1:

Classloader正在搜索班级org.eclipse.jetty.server.handler.AbstractHandler 由于我们不在Jetty上,因此类加载器无法找到该类。

一个选项是将jetty jar文件添加到tomcat或wildfly中, BUT 这很可能会导致tomcat / wildfly出现问题,因为它们还实现了预期的接口和类, Jetty和Wildfly / tomcat提供。 为了避免这种情况 - 直到它被Liquibase修复 - 你必须为Classloader提供一个AbstractHandler的虚拟实现。所以类加载器很高兴,发现AbstractHandler和WARN消息消失了。

如上所述这不是很好,但是解决方法是摆脱日志文件和控制台中的奇怪消息。如果我们很幸运,liquibase可能会在3.4或4.0中包含对这个小错误的修复。

答案 2 :(得分:-3)

将应用程序部署在tomcat上时,是如此简单,我们需要在standalone.xml文件中为org.jboss.modules启用调试级别ERROR。