使用 Spring 与 Spring 批处理管理集成时出错
Error using Spring Integration with Spring batch admin
试图将这两者联系在一起。但是发生了那个例外:
java.lang.NoClassDefFoundError: org/springframework/integration/MessagingException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2615)
at java.lang.Class.getDeclaredMethods(Class.java:1860)
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:571)
at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:490)
我的gradle脚本:
ext {
springIntegrationVersion = '4.0.3.RELEASE'
springIntegrationKafkaVersion = '1.0.0.M2'
}
repositories {
mavenCentral()
maven {
url 'https://repository.apache.org/content/groups/public'
}
maven { url 'http://repo.spring.io/milestone/' }
}
dependencies {
compile("mysql:mysql-connector-java")
compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework.boot:spring-boot-starter-batch:1.2.0.RELEASE")
compile("org.springframework.boot:spring-boot-starter-actuator")
compile("javax.inject:javax.inject:1")
compile('org.springframework.batch:spring-batch-admin-manager:1.3.0.RELEASE') {
exclude module: 'slf4j-log4j12'
}
//SI
compile("org.springframework.integration:spring-integration-core:$springIntegrationVersion")
//kafka
compile("org.springframework.integration:spring-integration-kafka:$springIntegrationKafkaVersion") {
exclude module: 'log4j'
exclude module: 'jms'
exclude module: 'jmxtools'
exclude module: 'jmxri'
}
..
这是 gradle 依赖关系树:
| | | | \--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | | +--- org.springframework:spring-beans:4.1.3.RELEASE (*)
| | | +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | | \--- org.springframework:spring-expression:4.1.3.RELEASE
| | | \--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | +--- org.springframework.boot:spring-boot-autoconfigure:1.2.0.RELEASE
| | | \--- org.springframework.boot:spring-boot:1.2.0.RELEASE (*)
| | +--- org.springframework.boot:spring-boot-starter-logging:1.2.0.RELEASE
| | | +--- org.slf4j:jcl-over-slf4j:1.7.7
| | | | \--- org.slf4j:slf4j-api:1.7.7
| | | +--- org.slf4j:jul-to-slf4j:1.7.7
| | | | \--- org.slf4j:slf4j-api:1.7.7
| | | +--- org.slf4j:log4j-over-slf4j:1.7.7
| | | | \--- org.slf4j:slf4j-api:1.7.7
| | | \--- ch.qos.logback:logback-classic:1.1.2
| | | +--- ch.qos.logback:logback-core:1.1.2
| | | \--- org.slf4j:slf4j-api:1.7.6 -> 1.7.7
| | +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | \--- org.yaml:snakeyaml:1.14
| +--- org.springframework.boot:spring-boot-starter-tomcat:1.2.0.RELEASE
| | +--- org.apache.tomcat.embed:tomcat-embed-core:8.0.15
| | +--- org.apache.tomcat.embed:tomcat-embed-el:8.0.15
| | +--- org.apache.tomcat.embed:tomcat-embed-logging-juli:8.0.15
| | \--- org.apache.tomcat.embed:tomcat-embed-websocket:8.0.15
| | \--- org.apache.tomcat.embed:tomcat-embed-core:8.0.15
| +--- com.fasterxml.jackson.core:jackson-databind:2.4.4
| | +--- com.fasterxml.jackson.core:jackson-annotations:2.4.0
| | \--- com.fasterxml.jackson.core:jackson-core:2.4.4
| +--- org.hibernate:hibernate-validator:5.1.3.Final
| | +--- javax.validation:validation-api:1.1.0.Final
| | +--- org.jboss.logging:jboss-logging:3.1.3.GA
| | \--- com.fasterxml:classmate:1.0.0
| +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| +--- org.springframework:spring-web:4.1.3.RELEASE
| | +--- org.springframework:spring-aop:4.1.3.RELEASE (*)
| | +--- org.springframework:spring-beans:4.1.3.RELEASE (*)
| | +--- org.springframework:spring-context:4.1.3.RELEASE (*)
| | \--- org.springframework:spring-core:4.1.3.RELEASE (*)
| \--- org.springframework:spring-webmvc:4.1.3.RELEASE
| +--- org.springframework:spring-beans:4.1.3.RELEASE (*)
| +--- org.springframework:spring-context:4.1.3.RELEASE (*)
| +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| +--- org.springframework:spring-expression:4.1.3.RELEASE (*)
| \--- org.springframework:spring-web:4.1.3.RELEASE (*)
+--- org.springframework.boot:spring-boot-starter-batch:1.2.0.RELEASE
| +--- org.springframework.boot:spring-boot-starter:1.2.0.RELEASE (*)
| +--- org.hsqldb:hsqldb:2.3.2
| +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| +--- org.springframework:spring-jdbc:4.1.3.RELEASE
| | +--- org.springframework:spring-beans:4.1.3.RELEASE (*)
| | +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | \--- org.springframework:spring-tx:4.1.3.RELEASE
| | +--- org.springframework:spring-beans:4.1.3.RELEASE (*)
| | \--- org.springframework:spring-core:4.1.3.RELEASE (*)
| \--- org.springframework.batch:spring-batch-core:3.0.2.RELEASE
| +--- com.ibm.jbatch:com.ibm.jbatch-tck-spi:1.0
| | \--- javax.batch:javax.batch-api:1.0
| +--- com.thoughtworks.xstream:xstream:1.4.7
| | +--- xmlpull:xmlpull:1.1.3.1
| | \--- xpp3:xpp3_min:1.1.4c
| +--- org.codehaus.jettison:jettison:1.2
| +--- org.springframework.batch:spring-batch-infrastructure:3.0.2.RELEASE
| | +--- org.springframework.retry:spring-retry:1.1.0.RELEASE
| | | \--- org.springframework:spring-context:4.0.3.RELEASE -> 4.1.3.RELEASE (*)
| | \--- org.springframework:spring-core:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework:spring-aop:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework:spring-beans:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework:spring-context:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework:spring-core:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
| \--- org.springframework:spring-tx:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
+--- org.springframework.boot:spring-boot-starter-actuator: -> 1.2.0.RELEASE
| +--- org.springframework.boot:spring-boot-starter:1.2.0.RELEASE (*)
| +--- org.springframework.boot:spring-boot-actuator:1.2.0.RELEASE
| | +--- org.springframework.boot:spring-boot:1.2.0.RELEASE (*)
| | +--- org.springframework.boot:spring-boot-autoconfigure:1.2.0.RELEASE (*)
| | +--- com.fasterxml.jackson.core:jackson-databind:2.4.4 (*)
| | +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | \--- org.springframework:spring-context:4.1.3.RELEASE (*)
| \--- org.springframework:spring-core:4.1.3.RELEASE (*)
+--- javax.inject:javax.inject:1
+--- org.springframework.batch:spring-batch-admin-manager:1.3.0.RELEASE
| +--- org.aspectj:aspectjrt:1.8.1
| +--- org.aspectj:aspectjweaver:1.8.1
| +--- org.springframework:spring-context:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework.batch:spring-batch-core:2.2.7.RELEASE -> 3.0.2.RELEASE (*)
| +--- org.springframework:spring-jdbc:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework:spring-aop:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework.batch:spring-batch-integration:1.3.0.RELEASE
| | +--- org.springframework.batch:spring-batch-core:2.2.7.RELEASE -> 3.0.2.RELEASE (*)
| | +--- org.springframework.retry:spring-retry:1.0.2.RELEASE -> 1.1.0.RELEASE (*)
| | +--- org.slf4j:jcl-over-slf4j:1.7.6 -> 1.7.7 (*)
| | +--- org.springframework.integration:spring-integration-core:3.0.2.RELEASE -> 4.0.3.RELEASE
| | | +--- org.springframework:spring-tx:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | | +--- org.springframework:spring-aop:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | | +--- org.springframework.retry:spring-retry:1.1.0.RELEASE (*)
| | | +--- org.springframework:spring-messaging:4.0.6.RELEASE
| | | | +--- org.springframework:spring-beans:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | | | +--- org.springframework:spring-context:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | | | \--- org.springframework:spring-core:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | | \--- org.springframework:spring-context:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | +--- org.springframework:spring-context:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | +--- org.springframework:spring-aop:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | +--- org.springframework:spring-tx:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | \--- org.slf4j:slf4j-api:1.7.6 -> 1.7.7
| +--- org.springframework.integration:spring-integration-core:3.0.2.RELEASE -> 4.0.3.RELEASE (*)
| +--- org.springframework.integration:spring-integration-jmx:3.0.2.RELEASE
| | +--- org.springframework.integration:spring-integration-core:3.0.2.RELEASE -> 4.0.3.RELEASE (*)
| | \--- org.springframework:spring-context:3.2.8.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework.integration:spring-integration-http:3.0.2.RELEASE
| | +--- org.springframework:spring-webmvc:3.2.8.RELEASE -> 4.1.3.RELEASE (*)
| | \--- org.springframework.integration:spring-integration-core:3.0.2.RELEASE -> 4.0.3.RELEASE (*)
| +--- org.springframework.integration:spring-integration-file:3.0.2.RELEASE
| | +--- commons-io:commons-io:2.4
| | +--- org.springframework.integration:spring-integration-core:3.0.2.RELEASE -> 4.0.3.RELEASE (*)
| | \--- org.springframework:spring-context:3.2.8.RELEASE -> 4.1.3.RELEASE (*)
| +--- commons-dbcp:commons-dbcp:1.4
| | \--- commons-pool:commons-pool:1.5.4
| +--- commons-io:commons-io:2.4
| +--- commons-lang:commons-lang:2.6
| +--- commons-fileupload:commons-fileupload:1.3.1
| | \--- commons-io:commons-io:2.2 -> 2.4
| +--- org.slf4j:jcl-over-slf4j:1.7.6 -> 1.7.7 (*)
| +--- org.slf4j:slf4j-api:1.7.6 -> 1.7.7
| +--- commons-collections:commons-collections:3.2.1
| +--- org.freemarker:freemarker:2.3.15
| +--- org.springframework.batch:spring-batch-admin-resources:1.3.0.RELEASE
| | +--- org.springframework:spring-aop:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | +--- org.slf4j:jcl-over-slf4j:1.7.6 -> 1.7.7 (*)
| | +--- commons-io:commons-io:2.4
| | +--- commons-collections:commons-collections:3.2.1
| | +--- org.springframework:spring-context-support:3.2.9.RELEASE
| | | +--- org.springframework:spring-beans:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | | +--- org.springframework:spring-context:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | | \--- org.springframework:spring-core:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | +--- org.codehaus.jackson:jackson-mapper-asl:1.9.13
| | | \--- org.codehaus.jackson:jackson-core-asl:1.9.13
| | +--- commons-dbcp:commons-dbcp:1.4 (*)
| | \--- org.slf4j:slf4j-api:1.7.6 -> 1.7.7
| \--- org.codehaus.jackson:jackson-mapper-asl:1.9.13 (*)
+--- org.springframework.integration:spring-integration-core:4.0.3.RELEASE (*)
+--- org.springframework.integration:spring-integration-kafka:1.0.0.M2
| +--- org.apache.avro:avro-compiler:1.7.6
| | +--- org.apache.avro:avro:1.7.6
| | | +--- org.codehaus.jackson:jackson-core-asl:1.9.13
| | | +--- org.codehaus.jackson:jackson-mapper-asl:1.9.13 (*)
| | | +--- com.thoughtworks.paranamer:paranamer:2.3
| | | +--- org.xerial.snappy:snappy-java:1.0.5
| | | +--- org.apache.commons:commons-compress:1.4.1
| | | | \--- org.tukaani:xz:1.0
| | | \--- org.slf4j:slf4j-api:1.6.4 -> 1.7.7
| | +--- commons-lang:commons-lang:2.6
| | +--- org.apache.velocity:velocity:1.7
| | | +--- commons-collections:commons-collections:3.2.1
| | | \--- commons-lang:commons-lang:2.4 -> 2.6
| | +--- org.codehaus.jackson:jackson-core-asl:1.9.13
| | +--- org.codehaus.jackson:jackson-mapper-asl:1.9.13 (*)
| | \--- org.slf4j:slf4j-api:1.6.4 -> 1.7.7
| +--- org.apache.avro:avro:1.7.6 (*)
| +--- com.yammer.metrics:metrics-annotation:2.2.0
| +--- org.springframework.integration:spring-integration-core:4.0.3.RELEASE (*)
| +--- com.yammer.metrics:metrics-core:2.2.0
| | \--- org.slf4j:slf4j-api:1.7.2 -> 1.7.7
| \--- org.apache.kafka:kafka_2.10:0.8.1.1
| +--- com.yammer.metrics:metrics-core:2.2.0 (*)
| +--- org.xerial.snappy:snappy-java:1.0.5
| +--- org.apache.zookeeper:zookeeper:3.3.4
| | \--- jline:jline:0.9.94
| | \--- junit:junit:3.8.1 -> 4.12
| | \--- org.hamcrest:hamcrest-core:1.3
| +--- net.sf.jopt-simple:jopt-simple:3.2
| +--- org.scala-lang:scala-library:2.10.1
| \--- com.101tec:zkclient:0.3
| \--- org.apache.zookeeper:zookeeper:3.3.1 -> 3.3.4 (*)
\--- org.springframework.boot:spring-boot-starter-test: -> 1.2.0.RELEASE
+--- junit:junit:4.12 (*)
+--- org.mockito:mockito-core:1.10.8
| +--- org.hamcrest:hamcrest-core:1.1 -> 1.3
| \--- org.objenesis:objenesis:2.1
+--- org.hamcrest:hamcrest-core:1.3
+--- org.hamcrest:hamcrest-library:1.3
| \--- org.hamcrest:hamcrest-core:1.3
+--- org.springframework:spring-core:4.1.3.RELEASE (*)
\--- org.springframework:spring-test:4.1.3.RELEASE
\--- org.springframework:spring-core:4.1.3.RELEASE (*)
(*) - dependencies omitted (listed previously)
我几乎可以肯定问题出在 spring-batch-admin 身上。单独使用 spring-batch 和 Spring-integration 效果很好。
知道如何解决这个问题吗?真的来自 spring-batch-admin 吗?
谢谢。
按照建议我降级到 Spring 3.x 来运行这个项目
我仍然有同样的错误。
新gradle脚本:
...
ext {
springIntegrationVersion = '3.0.6.RELEASE'
springIntegrationKafkaVersion = '1.0.0.M2'
}
dependencies {
compile("mysql:mysql-connector-java")
compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework.boot:spring-boot-starter-batch:1.2.0.RELEASE")
compile("org.springframework.boot:spring-boot-starter-actuator")
compile("javax.inject:javax.inject:1")
compile('org.springframework.batch:spring-batch-admin-manager:1.3.0.RELEASE') {
exclude module: 'slf4j-log4j12'
}
//SI
compile("org.springframework.integration:spring-integration-core:$springIntegrationVersion")
//kafka
compile("org.springframework.integration:spring-integration-kafka:$springIntegrationKafkaVersion") {
exclude module: 'log4j'
exclude module: 'jms'
exclude module: 'jmxtools'
exclude module: 'jmxri'
}
依赖关系树:
testCompile - Compile classpath for source set 'test'.
+--- mysql:mysql-connector-java: -> 5.1.34
+--- org.springframework.boot:spring-boot-starter-web: -> 1.2.0.RELEASE
| +--- org.springframework.boot:spring-boot-starter:1.2.0.RELEASE
| | +--- org.springframework.boot:spring-boot:1.2.0.RELEASE
| | | +--- org.springframework:spring-core:4.1.3.RELEASE
| | | | \--- commons-logging:commons-logging:1.2
| | | \--- org.springframework:spring-context:4.1.3.RELEASE
| | | +--- org.springframework:spring-aop:4.1.3.RELEASE
| | | | +--- aopalliance:aopalliance:1.0
| | | | +--- org.springframework:spring-beans:4.1.3.RELEASE
| | | | | \--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | | | \--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | | +--- org.springframework:spring-beans:4.1.3.RELEASE (*)
| | | +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | | \--- org.springframework:spring-expression:4.1.3.RELEASE
| | | \--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | +--- org.springframework.boot:spring-boot-autoconfigure:1.2.0.RELEASE
| | | \--- org.springframework.boot:spring-boot:1.2.0.RELEASE (*)
| | +--- org.springframework.boot:spring-boot-starter-logging:1.2.0.RELEASE
| | | +--- org.slf4j:jcl-over-slf4j:1.7.7
| | | | \--- org.slf4j:slf4j-api:1.7.7
| | | +--- org.slf4j:jul-to-slf4j:1.7.7
| | | | \--- org.slf4j:slf4j-api:1.7.7
| | | +--- org.slf4j:log4j-over-slf4j:1.7.7
| | | | \--- org.slf4j:slf4j-api:1.7.7
| | | \--- ch.qos.logback:logback-classic:1.1.2
| | | +--- ch.qos.logback:logback-core:1.1.2
| | | \--- org.slf4j:slf4j-api:1.7.6 -> 1.7.7
| | +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | \--- org.yaml:snakeyaml:1.14
| +--- org.springframework.boot:spring-boot-starter-tomcat:1.2.0.RELEASE
| | +--- org.apache.tomcat.embed:tomcat-embed-core:8.0.15
| | +--- org.apache.tomcat.embed:tomcat-embed-el:8.0.15
| | +--- org.apache.tomcat.embed:tomcat-embed-logging-juli:8.0.15
| | \--- org.apache.tomcat.embed:tomcat-embed-websocket:8.0.15
| | \--- org.apache.tomcat.embed:tomcat-embed-core:8.0.15
| +--- com.fasterxml.jackson.core:jackson-databind:2.4.4
| | +--- com.fasterxml.jackson.core:jackson-annotations:2.4.0
| | \--- com.fasterxml.jackson.core:jackson-core:2.4.4
| +--- org.hibernate:hibernate-validator:5.1.3.Final
| | +--- javax.validation:validation-api:1.1.0.Final
| | +--- org.jboss.logging:jboss-logging:3.1.3.GA
| | \--- com.fasterxml:classmate:1.0.0
| +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| +--- org.springframework:spring-web:4.1.3.RELEASE
| | +--- org.springframework:spring-aop:4.1.3.RELEASE (*)
| | +--- org.springframework:spring-beans:4.1.3.RELEASE (*)
| | +--- org.springframework:spring-context:4.1.3.RELEASE (*)
| | \--- org.springframework:spring-core:4.1.3.RELEASE (*)
| \--- org.springframework:spring-webmvc:4.1.3.RELEASE
| +--- org.springframework:spring-beans:4.1.3.RELEASE (*)
| +--- org.springframework:spring-context:4.1.3.RELEASE (*)
| +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| +--- org.springframework:spring-expression:4.1.3.RELEASE (*)
| \--- org.springframework:spring-web:4.1.3.RELEASE (*)
+--- org.springframework.boot:spring-boot-starter-batch:1.2.0.RELEASE
| +--- org.springframework.boot:spring-boot-starter:1.2.0.RELEASE (*)
| +--- org.hsqldb:hsqldb:2.3.2
| +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| +--- org.springframework:spring-jdbc:4.1.3.RELEASE
| | +--- org.springframework:spring-beans:4.1.3.RELEASE (*)
| | +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | \--- org.springframework:spring-tx:4.1.3.RELEASE
| | +--- org.springframework:spring-beans:4.1.3.RELEASE (*)
| | \--- org.springframework:spring-core:4.1.3.RELEASE (*)
| \--- org.springframework.batch:spring-batch-core:3.0.2.RELEASE
| +--- com.ibm.jbatch:com.ibm.jbatch-tck-spi:1.0
| | \--- javax.batch:javax.batch-api:1.0
| +--- com.thoughtworks.xstream:xstream:1.4.7
| | +--- xmlpull:xmlpull:1.1.3.1
| | \--- xpp3:xpp3_min:1.1.4c
| +--- org.codehaus.jettison:jettison:1.2
| +--- org.springframework.batch:spring-batch-infrastructure:3.0.2.RELEASE
| | +--- org.springframework.retry:spring-retry:1.1.0.RELEASE
| | | \--- org.springframework:spring-context:4.0.3.RELEASE -> 4.1.3.RELEASE (*)
| | \--- org.springframework:spring-core:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework:spring-aop:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework:spring-beans:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework:spring-context:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework:spring-core:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
| \--- org.springframework:spring-tx:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
+--- org.springframework.boot:spring-boot-starter-actuator: -> 1.2.0.RELEASE
| +--- org.springframework.boot:spring-boot-starter:1.2.0.RELEASE (*)
| +--- org.springframework.boot:spring-boot-actuator:1.2.0.RELEASE
| | +--- org.springframework.boot:spring-boot:1.2.0.RELEASE (*)
| | +--- org.springframework.boot:spring-boot-autoconfigure:1.2.0.RELEASE (*)
| | +--- com.fasterxml.jackson.core:jackson-databind:2.4.4 (*)
| | +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | \--- org.springframework:spring-context:4.1.3.RELEASE (*)
| \--- org.springframework:spring-core:4.1.3.RELEASE (*)
+--- javax.inject:javax.inject:1
+--- org.springframework.batch:spring-batch-admin-manager:1.3.0.RELEASE
| +--- org.aspectj:aspectjrt:1.8.1
| +--- org.aspectj:aspectjweaver:1.8.1
| +--- org.springframework:spring-context:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework.batch:spring-batch-core:2.2.7.RELEASE -> 3.0.2.RELEASE (*)
| +--- org.springframework:spring-jdbc:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework:spring-aop:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework.batch:spring-batch-integration:1.3.0.RELEASE
| | +--- org.springframework.batch:spring-batch-core:2.2.7.RELEASE -> 3.0.2.RELEASE (*)
| | +--- org.springframework.retry:spring-retry:1.0.2.RELEASE -> 1.1.0.RELEASE (*)
| | +--- org.slf4j:jcl-over-slf4j:1.7.6 -> 1.7.7 (*)
| | +--- org.springframework.integration:spring-integration-core:3.0.2.RELEASE -> 4.0.3.RELEASE
| | | +--- org.springframework:spring-tx:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | | +--- org.springframework:spring-aop:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | | +--- org.springframework.retry:spring-retry:1.1.0.RELEASE (*)
| | | +--- org.springframework:spring-messaging:4.0.6.RELEASE
| | | | +--- org.springframework:spring-beans:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | | | +--- org.springframework:spring-context:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | | | \--- org.springframework:spring-core:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | | \--- org.springframework:spring-context:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | +--- org.springframework:spring-context:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | +--- org.springframework:spring-aop:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | +--- org.springframework:spring-tx:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | \--- org.slf4j:slf4j-api:1.7.6 -> 1.7.7
| +--- org.springframework.integration:spring-integration-core:3.0.2.RELEASE -> 4.0.3.RELEASE (*)
| +--- org.springframework.integration:spring-integration-jmx:3.0.2.RELEASE
| | +--- org.springframework.integration:spring-integration-core:3.0.2.RELEASE -> 4.0.3.RELEASE (*)
| | \--- org.springframework:spring-context:3.2.8.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework.integration:spring-integration-http:3.0.2.RELEASE
| | +--- org.springframework:spring-webmvc:3.2.8.RELEASE -> 4.1.3.RELEASE (*)
| | \--- org.springframework.integration:spring-integration-core:3.0.2.RELEASE -> 4.0.3.RELEASE (*)
| +--- org.springframework.integration:spring-integration-file:3.0.2.RELEASE
| | +--- commons-io:commons-io:2.4
| | +--- org.springframework.integration:spring-integration-core:3.0.2.RELEASE -> 4.0.3.RELEASE (*)
| | \--- org.springframework:spring-context:3.2.8.RELEASE -> 4.1.3.RELEASE (*)
| +--- commons-dbcp:commons-dbcp:1.4
| | \--- commons-pool:commons-pool:1.5.4
| +--- commons-io:commons-io:2.4
| +--- commons-lang:commons-lang:2.6
| +--- commons-fileupload:commons-fileupload:1.3.1
| | \--- commons-io:commons-io:2.2 -> 2.4
| +--- org.slf4j:jcl-over-slf4j:1.7.6 -> 1.7.7 (*)
| +--- org.slf4j:slf4j-api:1.7.6 -> 1.7.7
| +--- commons-collections:commons-collections:3.2.1
| +--- org.freemarker:freemarker:2.3.15
| +--- org.springframework.batch:spring-batch-admin-resources:1.3.0.RELEASE
| | +--- org.springframework:spring-aop:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | +--- org.slf4j:jcl-over-slf4j:1.7.6 -> 1.7.7 (*)
| | +--- commons-io:commons-io:2.4
| | +--- commons-collections:commons-collections:3.2.1
| | +--- org.springframework:spring-context-support:3.2.9.RELEASE
| | | +--- org.springframework:spring-beans:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | | +--- org.springframework:spring-context:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | | \--- org.springframework:spring-core:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | +--- org.codehaus.jackson:jackson-mapper-asl:1.9.13
| | | \--- org.codehaus.jackson:jackson-core-asl:1.9.13
| | +--- commons-dbcp:commons-dbcp:1.4 (*)
| | \--- org.slf4j:slf4j-api:1.7.6 -> 1.7.7
| \--- org.codehaus.jackson:jackson-mapper-asl:1.9.13 (*)
+--- org.springframework.integration:spring-integration-core:3.0.6.RELEASE -> 4.0.3.RELEASE (*)
+--- org.springframework.integration:spring-integration-kafka:1.0.0.M2
| +--- org.apache.avro:avro-compiler:1.7.6
| | +--- org.apache.avro:avro:1.7.6
| | | +--- org.codehaus.jackson:jackson-core-asl:1.9.13
| | | +--- org.codehaus.jackson:jackson-mapper-asl:1.9.13 (*)
| | | +--- com.thoughtworks.paranamer:paranamer:2.3
| | | +--- org.xerial.snappy:snappy-java:1.0.5
| | | +--- org.apache.commons:commons-compress:1.4.1
| | | | \--- org.tukaani:xz:1.0
| | | \--- org.slf4j:slf4j-api:1.6.4 -> 1.7.7
| | +--- commons-lang:commons-lang:2.6
| | +--- org.apache.velocity:velocity:1.7
| | | +--- commons-collections:commons-collections:3.2.1
| | | \--- commons-lang:commons-lang:2.4 -> 2.6
| | +--- org.codehaus.jackson:jackson-core-asl:1.9.13
| | +--- org.codehaus.jackson:jackson-mapper-asl:1.9.13 (*)
| | \--- org.slf4j:slf4j-api:1.6.4 -> 1.7.7
| +--- org.apache.avro:avro:1.7.6 (*)
| +--- com.yammer.metrics:metrics-annotation:2.2.0
| +--- org.springframework.integration:spring-integration-core:4.0.3.RELEASE (*)
| +--- com.yammer.metrics:metrics-core:2.2.0
| | \--- org.slf4j:slf4j-api:1.7.2 -> 1.7.7
| \--- org.apache.kafka:kafka_2.10:0.8.1.1
| +--- com.yammer.metrics:metrics-core:2.2.0 (*)
| +--- org.xerial.snappy:snappy-java:1.0.5
| +--- org.apache.zookeeper:zookeeper:3.3.4
| | \--- jline:jline:0.9.94
| | \--- junit:junit:3.8.1 -> 4.12
| | \--- org.hamcrest:hamcrest-core:1.3
| +--- net.sf.jopt-simple:jopt-simple:3.2
| +--- org.scala-lang:scala-library:2.10.1
| \--- com.101tec:zkclient:0.3
| \--- org.apache.zookeeper:zookeeper:3.3.1 -> 3.3.4 (*)
\--- org.springframework.boot:spring-boot-starter-test: -> 1.2.0.RELEASE
+--- junit:junit:4.12 (*)
+--- org.mockito:mockito-core:1.10.8
| +--- org.hamcrest:hamcrest-core:1.1 -> 1.3
| \--- org.objenesis:objenesis:2.1
+--- org.hamcrest:hamcrest-core:1.3
+--- org.hamcrest:hamcrest-library:1.3
| \--- org.hamcrest:hamcrest-core:1.3
+--- org.springframework:spring-core:4.1.3.RELEASE (*)
\--- org.springframework:spring-test:4.1.3.RELEASE
\--- org.springframework:spring-core:4.1.3.RELEASE (*)
是的,我认为问题出在 spring-batch-admin。它依赖于 Spring 集成 3.x,后者正在解析为 4.0.3。 3.x 和 4.x 版本的 Spring 集成之间发生了重大变化。主要是,几个 类 和接口从 Spring Integration 项目中移到了 org.springframework.messaging
包下的核心 Spring Framework 项目中。 spring-batch-admin 需要重构以支持 Spring 集成 4.x,或者您需要降级到 Spring 集成 3.x.
Spring Batch Admin 目前正在为我们的 2.0 版本开发。作为该版本的一部分,我们将全面升级依赖项(包括此问题)。如果你愿意使用最新最好的,当前的主人已经应用了这些变化。否则,我将在未来几天发布 Spring Batch Admin 2.0.0.M1。
您可以在此处关注 Spring Batch Admin 在 Jira 中的进度:https://jira.spring.io/browse/BATCHADM/
试图将这两者联系在一起。但是发生了那个例外:
java.lang.NoClassDefFoundError: org/springframework/integration/MessagingException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2615)
at java.lang.Class.getDeclaredMethods(Class.java:1860)
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:571)
at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:490)
我的gradle脚本:
ext {
springIntegrationVersion = '4.0.3.RELEASE'
springIntegrationKafkaVersion = '1.0.0.M2'
}
repositories {
mavenCentral()
maven {
url 'https://repository.apache.org/content/groups/public'
}
maven { url 'http://repo.spring.io/milestone/' }
}
dependencies {
compile("mysql:mysql-connector-java")
compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework.boot:spring-boot-starter-batch:1.2.0.RELEASE")
compile("org.springframework.boot:spring-boot-starter-actuator")
compile("javax.inject:javax.inject:1")
compile('org.springframework.batch:spring-batch-admin-manager:1.3.0.RELEASE') {
exclude module: 'slf4j-log4j12'
}
//SI
compile("org.springframework.integration:spring-integration-core:$springIntegrationVersion")
//kafka
compile("org.springframework.integration:spring-integration-kafka:$springIntegrationKafkaVersion") {
exclude module: 'log4j'
exclude module: 'jms'
exclude module: 'jmxtools'
exclude module: 'jmxri'
}
..
这是 gradle 依赖关系树:
| | | | \--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | | +--- org.springframework:spring-beans:4.1.3.RELEASE (*)
| | | +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | | \--- org.springframework:spring-expression:4.1.3.RELEASE
| | | \--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | +--- org.springframework.boot:spring-boot-autoconfigure:1.2.0.RELEASE
| | | \--- org.springframework.boot:spring-boot:1.2.0.RELEASE (*)
| | +--- org.springframework.boot:spring-boot-starter-logging:1.2.0.RELEASE
| | | +--- org.slf4j:jcl-over-slf4j:1.7.7
| | | | \--- org.slf4j:slf4j-api:1.7.7
| | | +--- org.slf4j:jul-to-slf4j:1.7.7
| | | | \--- org.slf4j:slf4j-api:1.7.7
| | | +--- org.slf4j:log4j-over-slf4j:1.7.7
| | | | \--- org.slf4j:slf4j-api:1.7.7
| | | \--- ch.qos.logback:logback-classic:1.1.2
| | | +--- ch.qos.logback:logback-core:1.1.2
| | | \--- org.slf4j:slf4j-api:1.7.6 -> 1.7.7
| | +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | \--- org.yaml:snakeyaml:1.14
| +--- org.springframework.boot:spring-boot-starter-tomcat:1.2.0.RELEASE
| | +--- org.apache.tomcat.embed:tomcat-embed-core:8.0.15
| | +--- org.apache.tomcat.embed:tomcat-embed-el:8.0.15
| | +--- org.apache.tomcat.embed:tomcat-embed-logging-juli:8.0.15
| | \--- org.apache.tomcat.embed:tomcat-embed-websocket:8.0.15
| | \--- org.apache.tomcat.embed:tomcat-embed-core:8.0.15
| +--- com.fasterxml.jackson.core:jackson-databind:2.4.4
| | +--- com.fasterxml.jackson.core:jackson-annotations:2.4.0
| | \--- com.fasterxml.jackson.core:jackson-core:2.4.4
| +--- org.hibernate:hibernate-validator:5.1.3.Final
| | +--- javax.validation:validation-api:1.1.0.Final
| | +--- org.jboss.logging:jboss-logging:3.1.3.GA
| | \--- com.fasterxml:classmate:1.0.0
| +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| +--- org.springframework:spring-web:4.1.3.RELEASE
| | +--- org.springframework:spring-aop:4.1.3.RELEASE (*)
| | +--- org.springframework:spring-beans:4.1.3.RELEASE (*)
| | +--- org.springframework:spring-context:4.1.3.RELEASE (*)
| | \--- org.springframework:spring-core:4.1.3.RELEASE (*)
| \--- org.springframework:spring-webmvc:4.1.3.RELEASE
| +--- org.springframework:spring-beans:4.1.3.RELEASE (*)
| +--- org.springframework:spring-context:4.1.3.RELEASE (*)
| +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| +--- org.springframework:spring-expression:4.1.3.RELEASE (*)
| \--- org.springframework:spring-web:4.1.3.RELEASE (*)
+--- org.springframework.boot:spring-boot-starter-batch:1.2.0.RELEASE
| +--- org.springframework.boot:spring-boot-starter:1.2.0.RELEASE (*)
| +--- org.hsqldb:hsqldb:2.3.2
| +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| +--- org.springframework:spring-jdbc:4.1.3.RELEASE
| | +--- org.springframework:spring-beans:4.1.3.RELEASE (*)
| | +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | \--- org.springframework:spring-tx:4.1.3.RELEASE
| | +--- org.springframework:spring-beans:4.1.3.RELEASE (*)
| | \--- org.springframework:spring-core:4.1.3.RELEASE (*)
| \--- org.springframework.batch:spring-batch-core:3.0.2.RELEASE
| +--- com.ibm.jbatch:com.ibm.jbatch-tck-spi:1.0
| | \--- javax.batch:javax.batch-api:1.0
| +--- com.thoughtworks.xstream:xstream:1.4.7
| | +--- xmlpull:xmlpull:1.1.3.1
| | \--- xpp3:xpp3_min:1.1.4c
| +--- org.codehaus.jettison:jettison:1.2
| +--- org.springframework.batch:spring-batch-infrastructure:3.0.2.RELEASE
| | +--- org.springframework.retry:spring-retry:1.1.0.RELEASE
| | | \--- org.springframework:spring-context:4.0.3.RELEASE -> 4.1.3.RELEASE (*)
| | \--- org.springframework:spring-core:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework:spring-aop:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework:spring-beans:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework:spring-context:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework:spring-core:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
| \--- org.springframework:spring-tx:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
+--- org.springframework.boot:spring-boot-starter-actuator: -> 1.2.0.RELEASE
| +--- org.springframework.boot:spring-boot-starter:1.2.0.RELEASE (*)
| +--- org.springframework.boot:spring-boot-actuator:1.2.0.RELEASE
| | +--- org.springframework.boot:spring-boot:1.2.0.RELEASE (*)
| | +--- org.springframework.boot:spring-boot-autoconfigure:1.2.0.RELEASE (*)
| | +--- com.fasterxml.jackson.core:jackson-databind:2.4.4 (*)
| | +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | \--- org.springframework:spring-context:4.1.3.RELEASE (*)
| \--- org.springframework:spring-core:4.1.3.RELEASE (*)
+--- javax.inject:javax.inject:1
+--- org.springframework.batch:spring-batch-admin-manager:1.3.0.RELEASE
| +--- org.aspectj:aspectjrt:1.8.1
| +--- org.aspectj:aspectjweaver:1.8.1
| +--- org.springframework:spring-context:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework.batch:spring-batch-core:2.2.7.RELEASE -> 3.0.2.RELEASE (*)
| +--- org.springframework:spring-jdbc:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework:spring-aop:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework.batch:spring-batch-integration:1.3.0.RELEASE
| | +--- org.springframework.batch:spring-batch-core:2.2.7.RELEASE -> 3.0.2.RELEASE (*)
| | +--- org.springframework.retry:spring-retry:1.0.2.RELEASE -> 1.1.0.RELEASE (*)
| | +--- org.slf4j:jcl-over-slf4j:1.7.6 -> 1.7.7 (*)
| | +--- org.springframework.integration:spring-integration-core:3.0.2.RELEASE -> 4.0.3.RELEASE
| | | +--- org.springframework:spring-tx:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | | +--- org.springframework:spring-aop:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | | +--- org.springframework.retry:spring-retry:1.1.0.RELEASE (*)
| | | +--- org.springframework:spring-messaging:4.0.6.RELEASE
| | | | +--- org.springframework:spring-beans:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | | | +--- org.springframework:spring-context:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | | | \--- org.springframework:spring-core:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | | \--- org.springframework:spring-context:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | +--- org.springframework:spring-context:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | +--- org.springframework:spring-aop:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | +--- org.springframework:spring-tx:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | \--- org.slf4j:slf4j-api:1.7.6 -> 1.7.7
| +--- org.springframework.integration:spring-integration-core:3.0.2.RELEASE -> 4.0.3.RELEASE (*)
| +--- org.springframework.integration:spring-integration-jmx:3.0.2.RELEASE
| | +--- org.springframework.integration:spring-integration-core:3.0.2.RELEASE -> 4.0.3.RELEASE (*)
| | \--- org.springframework:spring-context:3.2.8.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework.integration:spring-integration-http:3.0.2.RELEASE
| | +--- org.springframework:spring-webmvc:3.2.8.RELEASE -> 4.1.3.RELEASE (*)
| | \--- org.springframework.integration:spring-integration-core:3.0.2.RELEASE -> 4.0.3.RELEASE (*)
| +--- org.springframework.integration:spring-integration-file:3.0.2.RELEASE
| | +--- commons-io:commons-io:2.4
| | +--- org.springframework.integration:spring-integration-core:3.0.2.RELEASE -> 4.0.3.RELEASE (*)
| | \--- org.springframework:spring-context:3.2.8.RELEASE -> 4.1.3.RELEASE (*)
| +--- commons-dbcp:commons-dbcp:1.4
| | \--- commons-pool:commons-pool:1.5.4
| +--- commons-io:commons-io:2.4
| +--- commons-lang:commons-lang:2.6
| +--- commons-fileupload:commons-fileupload:1.3.1
| | \--- commons-io:commons-io:2.2 -> 2.4
| +--- org.slf4j:jcl-over-slf4j:1.7.6 -> 1.7.7 (*)
| +--- org.slf4j:slf4j-api:1.7.6 -> 1.7.7
| +--- commons-collections:commons-collections:3.2.1
| +--- org.freemarker:freemarker:2.3.15
| +--- org.springframework.batch:spring-batch-admin-resources:1.3.0.RELEASE
| | +--- org.springframework:spring-aop:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | +--- org.slf4j:jcl-over-slf4j:1.7.6 -> 1.7.7 (*)
| | +--- commons-io:commons-io:2.4
| | +--- commons-collections:commons-collections:3.2.1
| | +--- org.springframework:spring-context-support:3.2.9.RELEASE
| | | +--- org.springframework:spring-beans:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | | +--- org.springframework:spring-context:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | | \--- org.springframework:spring-core:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | +--- org.codehaus.jackson:jackson-mapper-asl:1.9.13
| | | \--- org.codehaus.jackson:jackson-core-asl:1.9.13
| | +--- commons-dbcp:commons-dbcp:1.4 (*)
| | \--- org.slf4j:slf4j-api:1.7.6 -> 1.7.7
| \--- org.codehaus.jackson:jackson-mapper-asl:1.9.13 (*)
+--- org.springframework.integration:spring-integration-core:4.0.3.RELEASE (*)
+--- org.springframework.integration:spring-integration-kafka:1.0.0.M2
| +--- org.apache.avro:avro-compiler:1.7.6
| | +--- org.apache.avro:avro:1.7.6
| | | +--- org.codehaus.jackson:jackson-core-asl:1.9.13
| | | +--- org.codehaus.jackson:jackson-mapper-asl:1.9.13 (*)
| | | +--- com.thoughtworks.paranamer:paranamer:2.3
| | | +--- org.xerial.snappy:snappy-java:1.0.5
| | | +--- org.apache.commons:commons-compress:1.4.1
| | | | \--- org.tukaani:xz:1.0
| | | \--- org.slf4j:slf4j-api:1.6.4 -> 1.7.7
| | +--- commons-lang:commons-lang:2.6
| | +--- org.apache.velocity:velocity:1.7
| | | +--- commons-collections:commons-collections:3.2.1
| | | \--- commons-lang:commons-lang:2.4 -> 2.6
| | +--- org.codehaus.jackson:jackson-core-asl:1.9.13
| | +--- org.codehaus.jackson:jackson-mapper-asl:1.9.13 (*)
| | \--- org.slf4j:slf4j-api:1.6.4 -> 1.7.7
| +--- org.apache.avro:avro:1.7.6 (*)
| +--- com.yammer.metrics:metrics-annotation:2.2.0
| +--- org.springframework.integration:spring-integration-core:4.0.3.RELEASE (*)
| +--- com.yammer.metrics:metrics-core:2.2.0
| | \--- org.slf4j:slf4j-api:1.7.2 -> 1.7.7
| \--- org.apache.kafka:kafka_2.10:0.8.1.1
| +--- com.yammer.metrics:metrics-core:2.2.0 (*)
| +--- org.xerial.snappy:snappy-java:1.0.5
| +--- org.apache.zookeeper:zookeeper:3.3.4
| | \--- jline:jline:0.9.94
| | \--- junit:junit:3.8.1 -> 4.12
| | \--- org.hamcrest:hamcrest-core:1.3
| +--- net.sf.jopt-simple:jopt-simple:3.2
| +--- org.scala-lang:scala-library:2.10.1
| \--- com.101tec:zkclient:0.3
| \--- org.apache.zookeeper:zookeeper:3.3.1 -> 3.3.4 (*)
\--- org.springframework.boot:spring-boot-starter-test: -> 1.2.0.RELEASE
+--- junit:junit:4.12 (*)
+--- org.mockito:mockito-core:1.10.8
| +--- org.hamcrest:hamcrest-core:1.1 -> 1.3
| \--- org.objenesis:objenesis:2.1
+--- org.hamcrest:hamcrest-core:1.3
+--- org.hamcrest:hamcrest-library:1.3
| \--- org.hamcrest:hamcrest-core:1.3
+--- org.springframework:spring-core:4.1.3.RELEASE (*)
\--- org.springframework:spring-test:4.1.3.RELEASE
\--- org.springframework:spring-core:4.1.3.RELEASE (*)
(*) - dependencies omitted (listed previously)
我几乎可以肯定问题出在 spring-batch-admin 身上。单独使用 spring-batch 和 Spring-integration 效果很好。
知道如何解决这个问题吗?真的来自 spring-batch-admin 吗?
谢谢。
按照建议我降级到 Spring 3.x 来运行这个项目 我仍然有同样的错误。
新gradle脚本: ...
ext {
springIntegrationVersion = '3.0.6.RELEASE'
springIntegrationKafkaVersion = '1.0.0.M2'
}
dependencies {
compile("mysql:mysql-connector-java")
compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework.boot:spring-boot-starter-batch:1.2.0.RELEASE")
compile("org.springframework.boot:spring-boot-starter-actuator")
compile("javax.inject:javax.inject:1")
compile('org.springframework.batch:spring-batch-admin-manager:1.3.0.RELEASE') {
exclude module: 'slf4j-log4j12'
}
//SI
compile("org.springframework.integration:spring-integration-core:$springIntegrationVersion")
//kafka
compile("org.springframework.integration:spring-integration-kafka:$springIntegrationKafkaVersion") {
exclude module: 'log4j'
exclude module: 'jms'
exclude module: 'jmxtools'
exclude module: 'jmxri'
}
依赖关系树:
testCompile - Compile classpath for source set 'test'.
+--- mysql:mysql-connector-java: -> 5.1.34
+--- org.springframework.boot:spring-boot-starter-web: -> 1.2.0.RELEASE
| +--- org.springframework.boot:spring-boot-starter:1.2.0.RELEASE
| | +--- org.springframework.boot:spring-boot:1.2.0.RELEASE
| | | +--- org.springframework:spring-core:4.1.3.RELEASE
| | | | \--- commons-logging:commons-logging:1.2
| | | \--- org.springframework:spring-context:4.1.3.RELEASE
| | | +--- org.springframework:spring-aop:4.1.3.RELEASE
| | | | +--- aopalliance:aopalliance:1.0
| | | | +--- org.springframework:spring-beans:4.1.3.RELEASE
| | | | | \--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | | | \--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | | +--- org.springframework:spring-beans:4.1.3.RELEASE (*)
| | | +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | | \--- org.springframework:spring-expression:4.1.3.RELEASE
| | | \--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | +--- org.springframework.boot:spring-boot-autoconfigure:1.2.0.RELEASE
| | | \--- org.springframework.boot:spring-boot:1.2.0.RELEASE (*)
| | +--- org.springframework.boot:spring-boot-starter-logging:1.2.0.RELEASE
| | | +--- org.slf4j:jcl-over-slf4j:1.7.7
| | | | \--- org.slf4j:slf4j-api:1.7.7
| | | +--- org.slf4j:jul-to-slf4j:1.7.7
| | | | \--- org.slf4j:slf4j-api:1.7.7
| | | +--- org.slf4j:log4j-over-slf4j:1.7.7
| | | | \--- org.slf4j:slf4j-api:1.7.7
| | | \--- ch.qos.logback:logback-classic:1.1.2
| | | +--- ch.qos.logback:logback-core:1.1.2
| | | \--- org.slf4j:slf4j-api:1.7.6 -> 1.7.7
| | +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | \--- org.yaml:snakeyaml:1.14
| +--- org.springframework.boot:spring-boot-starter-tomcat:1.2.0.RELEASE
| | +--- org.apache.tomcat.embed:tomcat-embed-core:8.0.15
| | +--- org.apache.tomcat.embed:tomcat-embed-el:8.0.15
| | +--- org.apache.tomcat.embed:tomcat-embed-logging-juli:8.0.15
| | \--- org.apache.tomcat.embed:tomcat-embed-websocket:8.0.15
| | \--- org.apache.tomcat.embed:tomcat-embed-core:8.0.15
| +--- com.fasterxml.jackson.core:jackson-databind:2.4.4
| | +--- com.fasterxml.jackson.core:jackson-annotations:2.4.0
| | \--- com.fasterxml.jackson.core:jackson-core:2.4.4
| +--- org.hibernate:hibernate-validator:5.1.3.Final
| | +--- javax.validation:validation-api:1.1.0.Final
| | +--- org.jboss.logging:jboss-logging:3.1.3.GA
| | \--- com.fasterxml:classmate:1.0.0
| +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| +--- org.springframework:spring-web:4.1.3.RELEASE
| | +--- org.springframework:spring-aop:4.1.3.RELEASE (*)
| | +--- org.springframework:spring-beans:4.1.3.RELEASE (*)
| | +--- org.springframework:spring-context:4.1.3.RELEASE (*)
| | \--- org.springframework:spring-core:4.1.3.RELEASE (*)
| \--- org.springframework:spring-webmvc:4.1.3.RELEASE
| +--- org.springframework:spring-beans:4.1.3.RELEASE (*)
| +--- org.springframework:spring-context:4.1.3.RELEASE (*)
| +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| +--- org.springframework:spring-expression:4.1.3.RELEASE (*)
| \--- org.springframework:spring-web:4.1.3.RELEASE (*)
+--- org.springframework.boot:spring-boot-starter-batch:1.2.0.RELEASE
| +--- org.springframework.boot:spring-boot-starter:1.2.0.RELEASE (*)
| +--- org.hsqldb:hsqldb:2.3.2
| +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| +--- org.springframework:spring-jdbc:4.1.3.RELEASE
| | +--- org.springframework:spring-beans:4.1.3.RELEASE (*)
| | +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | \--- org.springframework:spring-tx:4.1.3.RELEASE
| | +--- org.springframework:spring-beans:4.1.3.RELEASE (*)
| | \--- org.springframework:spring-core:4.1.3.RELEASE (*)
| \--- org.springframework.batch:spring-batch-core:3.0.2.RELEASE
| +--- com.ibm.jbatch:com.ibm.jbatch-tck-spi:1.0
| | \--- javax.batch:javax.batch-api:1.0
| +--- com.thoughtworks.xstream:xstream:1.4.7
| | +--- xmlpull:xmlpull:1.1.3.1
| | \--- xpp3:xpp3_min:1.1.4c
| +--- org.codehaus.jettison:jettison:1.2
| +--- org.springframework.batch:spring-batch-infrastructure:3.0.2.RELEASE
| | +--- org.springframework.retry:spring-retry:1.1.0.RELEASE
| | | \--- org.springframework:spring-context:4.0.3.RELEASE -> 4.1.3.RELEASE (*)
| | \--- org.springframework:spring-core:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework:spring-aop:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework:spring-beans:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework:spring-context:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework:spring-core:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
| \--- org.springframework:spring-tx:4.0.5.RELEASE -> 4.1.3.RELEASE (*)
+--- org.springframework.boot:spring-boot-starter-actuator: -> 1.2.0.RELEASE
| +--- org.springframework.boot:spring-boot-starter:1.2.0.RELEASE (*)
| +--- org.springframework.boot:spring-boot-actuator:1.2.0.RELEASE
| | +--- org.springframework.boot:spring-boot:1.2.0.RELEASE (*)
| | +--- org.springframework.boot:spring-boot-autoconfigure:1.2.0.RELEASE (*)
| | +--- com.fasterxml.jackson.core:jackson-databind:2.4.4 (*)
| | +--- org.springframework:spring-core:4.1.3.RELEASE (*)
| | \--- org.springframework:spring-context:4.1.3.RELEASE (*)
| \--- org.springframework:spring-core:4.1.3.RELEASE (*)
+--- javax.inject:javax.inject:1
+--- org.springframework.batch:spring-batch-admin-manager:1.3.0.RELEASE
| +--- org.aspectj:aspectjrt:1.8.1
| +--- org.aspectj:aspectjweaver:1.8.1
| +--- org.springframework:spring-context:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework.batch:spring-batch-core:2.2.7.RELEASE -> 3.0.2.RELEASE (*)
| +--- org.springframework:spring-jdbc:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework:spring-aop:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework.batch:spring-batch-integration:1.3.0.RELEASE
| | +--- org.springframework.batch:spring-batch-core:2.2.7.RELEASE -> 3.0.2.RELEASE (*)
| | +--- org.springframework.retry:spring-retry:1.0.2.RELEASE -> 1.1.0.RELEASE (*)
| | +--- org.slf4j:jcl-over-slf4j:1.7.6 -> 1.7.7 (*)
| | +--- org.springframework.integration:spring-integration-core:3.0.2.RELEASE -> 4.0.3.RELEASE
| | | +--- org.springframework:spring-tx:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | | +--- org.springframework:spring-aop:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | | +--- org.springframework.retry:spring-retry:1.1.0.RELEASE (*)
| | | +--- org.springframework:spring-messaging:4.0.6.RELEASE
| | | | +--- org.springframework:spring-beans:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | | | +--- org.springframework:spring-context:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | | | \--- org.springframework:spring-core:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | | \--- org.springframework:spring-context:4.0.6.RELEASE -> 4.1.3.RELEASE (*)
| | +--- org.springframework:spring-context:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | +--- org.springframework:spring-aop:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | +--- org.springframework:spring-tx:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | \--- org.slf4j:slf4j-api:1.7.6 -> 1.7.7
| +--- org.springframework.integration:spring-integration-core:3.0.2.RELEASE -> 4.0.3.RELEASE (*)
| +--- org.springframework.integration:spring-integration-jmx:3.0.2.RELEASE
| | +--- org.springframework.integration:spring-integration-core:3.0.2.RELEASE -> 4.0.3.RELEASE (*)
| | \--- org.springframework:spring-context:3.2.8.RELEASE -> 4.1.3.RELEASE (*)
| +--- org.springframework.integration:spring-integration-http:3.0.2.RELEASE
| | +--- org.springframework:spring-webmvc:3.2.8.RELEASE -> 4.1.3.RELEASE (*)
| | \--- org.springframework.integration:spring-integration-core:3.0.2.RELEASE -> 4.0.3.RELEASE (*)
| +--- org.springframework.integration:spring-integration-file:3.0.2.RELEASE
| | +--- commons-io:commons-io:2.4
| | +--- org.springframework.integration:spring-integration-core:3.0.2.RELEASE -> 4.0.3.RELEASE (*)
| | \--- org.springframework:spring-context:3.2.8.RELEASE -> 4.1.3.RELEASE (*)
| +--- commons-dbcp:commons-dbcp:1.4
| | \--- commons-pool:commons-pool:1.5.4
| +--- commons-io:commons-io:2.4
| +--- commons-lang:commons-lang:2.6
| +--- commons-fileupload:commons-fileupload:1.3.1
| | \--- commons-io:commons-io:2.2 -> 2.4
| +--- org.slf4j:jcl-over-slf4j:1.7.6 -> 1.7.7 (*)
| +--- org.slf4j:slf4j-api:1.7.6 -> 1.7.7
| +--- commons-collections:commons-collections:3.2.1
| +--- org.freemarker:freemarker:2.3.15
| +--- org.springframework.batch:spring-batch-admin-resources:1.3.0.RELEASE
| | +--- org.springframework:spring-aop:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | +--- org.slf4j:jcl-over-slf4j:1.7.6 -> 1.7.7 (*)
| | +--- commons-io:commons-io:2.4
| | +--- commons-collections:commons-collections:3.2.1
| | +--- org.springframework:spring-context-support:3.2.9.RELEASE
| | | +--- org.springframework:spring-beans:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | | +--- org.springframework:spring-context:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | | \--- org.springframework:spring-core:3.2.9.RELEASE -> 4.1.3.RELEASE (*)
| | +--- org.codehaus.jackson:jackson-mapper-asl:1.9.13
| | | \--- org.codehaus.jackson:jackson-core-asl:1.9.13
| | +--- commons-dbcp:commons-dbcp:1.4 (*)
| | \--- org.slf4j:slf4j-api:1.7.6 -> 1.7.7
| \--- org.codehaus.jackson:jackson-mapper-asl:1.9.13 (*)
+--- org.springframework.integration:spring-integration-core:3.0.6.RELEASE -> 4.0.3.RELEASE (*)
+--- org.springframework.integration:spring-integration-kafka:1.0.0.M2
| +--- org.apache.avro:avro-compiler:1.7.6
| | +--- org.apache.avro:avro:1.7.6
| | | +--- org.codehaus.jackson:jackson-core-asl:1.9.13
| | | +--- org.codehaus.jackson:jackson-mapper-asl:1.9.13 (*)
| | | +--- com.thoughtworks.paranamer:paranamer:2.3
| | | +--- org.xerial.snappy:snappy-java:1.0.5
| | | +--- org.apache.commons:commons-compress:1.4.1
| | | | \--- org.tukaani:xz:1.0
| | | \--- org.slf4j:slf4j-api:1.6.4 -> 1.7.7
| | +--- commons-lang:commons-lang:2.6
| | +--- org.apache.velocity:velocity:1.7
| | | +--- commons-collections:commons-collections:3.2.1
| | | \--- commons-lang:commons-lang:2.4 -> 2.6
| | +--- org.codehaus.jackson:jackson-core-asl:1.9.13
| | +--- org.codehaus.jackson:jackson-mapper-asl:1.9.13 (*)
| | \--- org.slf4j:slf4j-api:1.6.4 -> 1.7.7
| +--- org.apache.avro:avro:1.7.6 (*)
| +--- com.yammer.metrics:metrics-annotation:2.2.0
| +--- org.springframework.integration:spring-integration-core:4.0.3.RELEASE (*)
| +--- com.yammer.metrics:metrics-core:2.2.0
| | \--- org.slf4j:slf4j-api:1.7.2 -> 1.7.7
| \--- org.apache.kafka:kafka_2.10:0.8.1.1
| +--- com.yammer.metrics:metrics-core:2.2.0 (*)
| +--- org.xerial.snappy:snappy-java:1.0.5
| +--- org.apache.zookeeper:zookeeper:3.3.4
| | \--- jline:jline:0.9.94
| | \--- junit:junit:3.8.1 -> 4.12
| | \--- org.hamcrest:hamcrest-core:1.3
| +--- net.sf.jopt-simple:jopt-simple:3.2
| +--- org.scala-lang:scala-library:2.10.1
| \--- com.101tec:zkclient:0.3
| \--- org.apache.zookeeper:zookeeper:3.3.1 -> 3.3.4 (*)
\--- org.springframework.boot:spring-boot-starter-test: -> 1.2.0.RELEASE
+--- junit:junit:4.12 (*)
+--- org.mockito:mockito-core:1.10.8
| +--- org.hamcrest:hamcrest-core:1.1 -> 1.3
| \--- org.objenesis:objenesis:2.1
+--- org.hamcrest:hamcrest-core:1.3
+--- org.hamcrest:hamcrest-library:1.3
| \--- org.hamcrest:hamcrest-core:1.3
+--- org.springframework:spring-core:4.1.3.RELEASE (*)
\--- org.springframework:spring-test:4.1.3.RELEASE
\--- org.springframework:spring-core:4.1.3.RELEASE (*)
是的,我认为问题出在 spring-batch-admin。它依赖于 Spring 集成 3.x,后者正在解析为 4.0.3。 3.x 和 4.x 版本的 Spring 集成之间发生了重大变化。主要是,几个 类 和接口从 Spring Integration 项目中移到了 org.springframework.messaging
包下的核心 Spring Framework 项目中。 spring-batch-admin 需要重构以支持 Spring 集成 4.x,或者您需要降级到 Spring 集成 3.x.
Spring Batch Admin 目前正在为我们的 2.0 版本开发。作为该版本的一部分,我们将全面升级依赖项(包括此问题)。如果你愿意使用最新最好的,当前的主人已经应用了这些变化。否则,我将在未来几天发布 Spring Batch Admin 2.0.0.M1。
您可以在此处关注 Spring Batch Admin 在 Jira 中的进度:https://jira.spring.io/browse/BATCHADM/