我正在嘗試創建一個包含Akka,Spray和Jetty的獨立JAR。理想情況下,我將整個應用程序分發到單個文件中,無需任何外部文件。結合Akka,Spray和嵌入式碼頭
我知道如何創建一個嵌入式Jetty服務器實例
def main(args: Array[String]): Unit = {
val server = new Server(9012);
server.start();
server.join();
Thread.sleep(2000);
server.stop();
}
而且我是按照創建一個HelloService中和引導類噴霧示例代碼,但我對如何將二者連接沒有世俗的想法,因此當在Jetty服務器上請求URL時,Spray服務會對其進行響應。任何幫助將非常感激。
更新:我越來越近了很多解決這個問題,這要歸功於由阿洛伊斯Cochard(我是從一個網頁腳本背景的,並讓我周圍Java Web服務的頭提示的查詢一個線程一直......挑戰!)。我修改了我的main method以啓動服務器並閱讀入門模板中的Jetty和akka configuration文件。它同時讀取這些文件,但現在我得到這個,當我瀏覽到/ Jetty服務器上:
HTTP ERROR: 500
Problem accessing /. Reason:
assertion failed: 0 actors for id 'spray-root-service' found, expected exactly one
我知道我錯過了一些愚蠢的(也許我應該打破,並使用SBT ,但能夠在Eclipse中進行編譯和運行,然後在瀏覽器中刷新,非常簡單且吸引人)。
更新#2:找出問題所在。我沒有創建WebAppContext對象,這意味着web.xml永遠不會被讀取,因此Akka從未被加載。 This is the revised現在正在工作的主要方法。
你知道[sbt-assembly](https://github.com/sbt/sbt-assembly)嗎? – AmigoNico