残念ながら、spray/akka で適切に動作するには jetty 8 が必要です (これは scala プロジェクトです)。
jettyRun で使用されている古いバージョンでは、次のようなエラーが発生し
ます
。
最悪の場合、私が構築している戦争で突堤の組み込みバージョンを使用できますが、何か簡単な解決策があれば喜んで...
残念ながら、spray/akka で適切に動作するには jetty 8 が必要です (これは scala プロジェクトです)。
jettyRun で使用されている古いバージョンでは、次のようなエラーが発生し
ます
。
最悪の場合、私が構築している戦争で突堤の組み込みバージョンを使用できますが、何か簡単な解決策があれば喜んで...
ピトール、なぜあなたはここからあなたの優れた答えを追加しなかったのですか?
以下では、Jetty バージョンを使用9
し、タスクに依存しwar
、jetty プラグイン (つまり ) と同じタスク名を使用するように調整しましたjettyRun
。
configurations {
jetty
}
dependencies {
jetty "org.eclipse.jetty:jetty-runner:9.2.11.v20150529"
}
task jettyRun(type: JavaExec, dependsOn: war) {
main = "org.eclipse.jetty.runner.Runner"
args = [war.archivePath]
classpath configurations.jetty
}
gradle jettyRun
gradle ビルド レベルで適切な解決策を見つけることができなかったので、組み込みの桟橋を使用することにしました。スカラクラスは次のとおりです。
import org.eclipse.jetty.server.Server
import org.eclipse.jetty.webapp.WebAppContext
import org.eclipse.jetty.server.bio.SocketConnector
object JettyServer {
def main(args: Array[String]) {
val server = new Server
val context = new WebAppContext
val connector = new SocketConnector
connector.setMaxIdleTime(1000 * 60 * 60)
connector.setPort(8080)
context.setServer(server)
context.setWar(args(0))
server.setConnectors(Array(connector))
server.setHandler(context)
try {
server.start();
server.join();
} catch {
case e: Exception => e.printStackTrace();
}
}
}
そしてbuild.gradleで:
apply plugin: "application"
mainClassName = "com.mycompany.myproject"
run.args = [war.archivePath]
task jettyRun(dependsOn: run)
そして、すべてが機能します:)