【发布时间】:2015-11-29 23:15:14
【问题描述】:
我使用 Gradle 构建了一个 jar 文件。它从“gradle run”运行良好,但是当我从 Eclipse(运行->外部工具->外部工具配置)中运行它时,我在 Spring 类之一上得到了 NoClassDefFoundError。
这是 build.gradle:
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'application'
mainClassName = 'com.ii.mainClass'
repositories {
mavenCentral()
}
jar {
manifest {
attributes 'Main-Class': 'com.ii.mainClass'
}
}
sourceCompatibility = 1.7
targetCompatibility = 1.7
dependencies {
compile 'com.fasterxml.jackson.core:jackson-annotations:2.6.1'
compile 'com.fasterxml.jackson.core:jackson-core:2.6.1'
compile 'com.fasterxml.jackson.core:jackson-databind:2.6.1'
compile 'org.springframework:spring-beans:4.2.0.RELEASE'
compile 'org.springframework:spring-context:4.2.0.RELEASE'
compile 'org.springframework:spring-core:4.2.0.RELEASE'
compile 'org.springframework:spring-expression:4.2.0.RELEASE'
compile 'org.springframework.xd:spring-xd-tuple:1.0.4.RELEASE'
}
我查看了 jar 文件,它没有依赖的 jar,这就是我在 Eclipse 中运行时出现 NoClassDefinition 错误的原因。我也尝试过在本地包含这些 jar,但这并不能解决问题,有人可以告诉我如何在 Eclipse 中运行它吗?
dependencies {
compile fileTree(dir: 'lib', include: ['*.jar'])
}
【问题讨论】: