将dubbox 发布到本地maven库后,grails中引入方式:
dependencies { compile ('com.alibaba:dubbo:2.8.5') compile ('org.apache.zookeeper:zookeeper:3.4.8'){ //处理冲突 exclude(module: 'slf4j-log4j12') } } //下面的配置如果不配,在打包运行的时候tomcat会出现异常 configurations { compile.exclude group:'ch.qos.logback' }
部署时tomcat异常信息:
Caused by: java.lang.IllegalArgumentException: LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either remove Logback or the competing implementation (class org.apache.logging.slf4j.Log4jLoggerFactory loaded from file:/D:/apache-tomcat-9.0.0.M8-edu/apache-tomcat-9.0.0.M8/webapps/demo/WEB-INF/lib/log4j-slf4j-impl-2.4.1.jar). If you are using WebLogic you will need to add 'org.slf4j' to prefer-application-packages in WEB-INF/weblogic.xml Object of class [org.apache.logging.slf4j.Log4jLoggerFactory] must be an instance of class ch.qos.logback.classic.LoggerContext at org.springframework.util.Assert.isInstanceOf(Assert.java:346) at org.springframework.boot.logging.logback.LogbackLoggingSystem.getLoggerContext(LogbackLoggingSystem.java:221) at org.springframework.boot.logging.logback.LogbackLoggingSystem.getLogger(LogbackLoggingSystem.java:213) at org.springframework.boot.logging.logback.LogbackLoggingSystem.beforeInitialize(LogbackLoggingSystem.java:98) at org.springframework.boot.logging.LoggingApplicationListener.onApplicationStartedEvent(LoggingApplicationListener.java:216) at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:198) xxxxxxxxxxxxxxxxx略