2015-07-02 5 views
0

Я запускаю и запускаю веб-приложение Spring с использованием градиента. Существует несколько привязок. Читая существующие должности, я обнаружил множество подобных проблем. Но у меня две проблемы. (1) Я не могу найти конфликты. (2) Я не очень похож на синтаксис градиента. Я попробовал много методов. Но все еще смущен. Любая помощь приветствуется. Благодарю. Здесь ошибка:SLF4J: Путь класса содержит несколько привязок SLF4J. несколько локтевых классических банок

SLF4J: Class path contains multiple SLF4J bindings.

SLF4j: Found bindings in [jar:file:/C:/myproject/gradle-2.3-all/gradle-2.3/lib/logback-classic-1.0.13.jar!/org/slf4j/impl/StatLoggerBinder.class]

SLF4j: Found bindings in [jar:file:/C:/myproject/myproject/build/temp/tomcatRunWar/work/Tomcat/localhost/myproject/WEB-INF/lib/logback-classic-1.1.2.jar!/org/slf4j/impl/StatLoggerBinder.class]

SLF4j: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]

Ниже мое depencies:

buildscript { 
repositories { 
    maven { url "http://repo.spring.io/libs-release" } 
    mavenLocal() 
} 
dependencies { 
    classpath("org.springframework.boot:spring-boot-gradle-plugin:1.0.1.RELEASE") 
    classpath 'org.gradle.api.plugins:gradle-tomcat-plugin:1.2.4' 
}} 

apply plugin: 'java' 
apply plugin: 'eclipse' 
apply plugin: 'spring-boot' 
apply plugin: 'war' 
apply plugin: 'groovy' 
apply plugin: 'tomcat' 


eclipse { 
jdt { 
    sourceCompatibility = 1.8 
    targetCompatibility = 1.8 
}} 

jar { 
baseName = 'myproject' 
version = '0.1.0' } 

repositories { 
mavenCentral() 
maven { url "http://repo.spring.io/libs-release" } } 

dependencies { 
compile('commons-fileupload:commons-fileupload:1.3.1') 
compile("org.codehaus.jackson:jackson-mapper-asl:1.9.0") 
compile("org.springframework.boot:spring-boot-starter-web") 
compile("org.springframework.data:spring-data-mongodb") 
compile("org.springframework.security:spring-security-crypto:3.2.3.RELEASE") 
compile("com.fasterxml.jackson.core:jackson-databind") 
compile("joda-time:joda-time:2.2") 
compile("org.apache.directory.studio:org.apache.commons.codec:1.6") 
compile('com.amazonaws:aws-java-sdk:1.2.1') 
testCompile("junit:junit") 
    runtime 'javax.servlet:jstl:1.2' 
providedCompile group:"org.apache.tomcat", name:"tomcat-catalina", version:"7.0.47" } 


dependencies { 
def tomcatVersion = '7.0.47' 
tomcat "org.apache.tomcat.embed:tomcat-embed-core:${tomcatVersion}", 
"org.apache.tomcat.embed:tomcat-embed-logging-log4j:${tomcatVersion}" 
tomcat("org.apache.tomcat.embed:tomcat-embed-jasper:${tomcatVersion}") { 
exclude group: 'org.eclipse.jdt.core.compiler', module: 'ecj' 
} } 


tomcatRun { daemon = true 
httpPort = 8080 
outputFile = file('/logs/tomcat.log') 
stopKey = 'ctl-d' 
webDefaultXml = file('src/main/webapp/WEB-INF/web.xml') } 

tomcatRunWar { outputFile = file('/logs/tomcat.log') } 
tomcatStop { stopKey = 'ctl-d' } 

ответ

2

Start, делая это в командной строке:

gradle dependencies > foo.txt 

и пойти получить кофе в то время как он завершает. Полученный файл будет содержать полное дерево зависимостей. Поиск журнала.

Затем, когда вы изменяете файл сборки, насколько я могу судить (я тоже относительно новичок в градации), вам нужно только исключить либо модуль, либо группу, а не обе. Группа в основном является частью перед двоеточием, модуль является частью после.

Глядя снова на детали вашей ошибки, я думаю, что проблема, вероятно, содержащийся здесь:

"org.apache.tomcat.embed:tomcat-embed-logging-log4j:${tomcatVersion}" 

, так что я думаю, что вы, вероятно, следует разорвать, что из в свою собственную линию/зависимость и поставить исключения там ,

+0

Спасибо. Это хороший метод отладки. – BAE

Смежные вопросы