3

残念ながら、spray/akka で適切に動作するには jetty 8 が必要です (これは scala プロジェクトです)。
jettyRun で使用されている古いバージョンでは、次のようなエラーが発生し
ます

最悪の場合、私が構築している戦争で突堤の組み込みバージョンを使用できますが、何か簡単な解決策があれば喜んで...

4

3 に答える 3

1

ピトール、なぜあなたはここからあなたの優れた答えを追加しなかったのですか?

以下では、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
于 2015-06-05T03:15:41.650 に答える
0

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)

そして、すべてが機能します:)

于 2011-11-26T19:33:14.923 に答える