Spring配置:无法找到Spring NamespaceHandler

时间:2015-09-25 11:41:12

标签: java spring

配置问题:无法找到XML架构命名空间的Spring NamespaceHandler [http://www.springframework.org/schema/tx]违规资源:ServletContext资源[/WEB-INF/spring-servlet.xml]

1 个答案:

答案 0 :(得分:7)

在gradle中,您可以使用shadowJar插件来修复它。我的build.gradle文件用于编译胖jar:

apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'com.github.johnrengelman.shadow'
apply plugin: 'application'

mainClassName = 'ru.antowka.Initializer'

buildscript {
    repositories { jcenter() }
    dependencies {
        classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.2'
    }
}

jar {
    manifest {
        attributes 'Main-Class': mainClassName
    }
}

shadowJar {
    mergeServiceFiles('META-INF/spring.*')
}

// JDK 8
sourceCompatibility = 1.8
targetCompatibility = 1.8

compileJava.options.encoding = 'UTF-8'

repositories {

    maven {
        url 'http://repo.spring.io/snapshot'
    }

    mavenLocal()
    mavenCentral()
    jcenter()
}

dependencies {
    compile 'org.jsoup:jsoup:1.8.3'
    compile 'org.springframework:spring-context:4.2.2.BUILD-SNAPSHOT'
    compile 'log4j:log4j:1.2.17'
    compile 'org.quartz-scheduler:quartz:1.8.6'
    compile 'org.springframework:spring-support:2.0.8'
    compile 'org.springframework:spring-tx:2.5.4'
    compile 'org.springframework:spring-orm:4.1.7.RELEASE'
    compile 'org.hibernate:hibernate-core:4.3.10.Final'
    compile 'org.postgresql:postgresql:9.4-1201-jdbc41'
    compile 'org.apache.commons:commons-dbcp2:2.1'

    testCompile 'org.springframework:spring-test:4.2.0.RELEASE'
    testCompile 'org.mockito:mockito-core:1.+'
    testCompile 'junit:junit:4.12'
}