10

私はgradleとビルドシステムにかなり慣れていません。gradleでプロジェクトをビルドしようとしていますが、プロジェクトのいくつかのクラスで使用するTomcatサーバーのパッケージが見つかりません。

私のビルド構成:

apply plugin: 'java'
apply plugin: 'war'

repositories {
   flatDir { dirs "WebContent/WEB-INF/lib" }
   mavenCentral()
}

dependencies {
    compile group: 'com.orientechnologies', name: 'orient-commons', version: '1.3.0'
    compile group: 'com.orientechnologies', name: 'orientdb-client', version: '1.3.0'
    compile group: 'com.orientechnologies', name: 'orientdb-core', version: '1.3.0'
    compile group: 'com.orientechnologies', name: 'orientdb-graphdb', version: '1.3.0'
    compile group: 'com.orientechnologies', name: 'orientdb-enterprise', version: '1.3.0'
    compile group: 'com.tinkerpop.blueprints', name: 'blueprints-core', version: '2.3.0'
    compile group: 'com.tinkerpop.blueprints', name: 'blueprints-orient-graph', version: '2.3.0'
    compile group: 'com.tinkerpop', name: 'pipes', version: '2.3.0'
    compile group: 'com.tinkerpop.gremlin', name: 'gremlin-java', version: '2.3.0'
    compile group: 'com.tinkerpop.gremlin', name: 'gremlin-groovy', version: '2.3.0'

    testCompile group: 'junit', name: 'junit', version: '4.+'
    testCompile group: 'org.mockito', name: 'mockito-all', version: '1.9.5'

}
sourceSets {
    main {
        java {
            srcDir 'src'
        }
    }
    test {
        java {
            srcDir 'test'
        }
    }
}

task wrapper(type: Wrapper) {
    gradleVersion = '1.3'
}
war {
    from 'WebContent'
}

Gradle タスク - ビルドを起動すると、エラーが発生します。

OrientDBFilter.java:6: error: package javax.servlet does not exist
import javax.servlet.FilterChain;
OrientDBFilter.java:5: error: package javax.servlet does not exist
import javax.servlet.Filter;

....

4

3 に答える 3

16

通常は を使用しますprovidedCompile。何かのようなもの:

providedCompile group: 'javax.servlet', name: 'javax.servlet-api', version: '3.0.1'

その後、アプリはコンパイルされますが、gradle は最終的な war ファイルにサーブレット API を含めません。

于 2013-03-22T16:53:11.370 に答える
0

私は同じ問題を抱えていて、解決策はprovidedCompileうまくいきませんでしたが、単に
compile group: 'javax.servlet', name: 'javax.servlet-api', version: '3.0.1'うまくいきました。

誰かが同じ問題を抱えている場合、これを共有したかっただけです。

于 2019-11-07T13:32:41.103 に答える