0

機能テストのために jetty サーバーを実行するために jetty gradle プラグインを使用しようとしています。しかし、私はjava.lang.IllegalArgumentException: Object is not of type class org.mortbay.jetty.webapp.WebAppContext.

ここに示されている例に従っていますが、私が何をしているのかわかりません。ビルド ファイルの関連部分は次のようになります。

apply plugin: 'jetty'
dependencies {
    providedRuntime 'com.h2database:h2:1.3.167'
    providedRuntime 'commons-dbcp:commons-dbcp:1.4'
}

jettyRunWar {
  httpPort = 8083
  stopPort = 8085
  stopKey = "stopKey"
  jettyConfig = file("$projectDir/jetty-config/jetty.xml")
}

jettyStop {
  stopPort = 8085
  stopKey = "stopKey"
}

そして、私の jetty.xml は次のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
<Configure class="org.mortbay.jetty.webapp.WebAppContext">
 <Set name="contextPath">/gateway</Set>
 <New class="org.mortbay.jetty.plus.naming.Resource">
     <Arg>
     </Arg>
     <Arg>jdbc/gateway</Arg>
     <Arg>
         <New class="org.apache.commons.dbcp.BasicDataSource">
             <Set name="url">jdbc:h2:tcp://localhost/build/db; USER=sa</Set>
         </New>
     </Arg>
 </New>
</Configure>

スタックトレースはここにあります。

どんな提案でも大歓迎です。

4

1 に答える 1

0

私の推測では、これは Jetty プラグインのバグです。一般に、Jetty プラグインは非常に限定的で時代遅れであるため、代わりにarquillian-gradle-pluginを試すことをお勧めします。これが、Gradle のコンテナ サポートが目指すところです。

于 2013-08-05T11:20:46.617 に答える