2013-03-13 22 views
-1

我使用Jersey開發了一個應用程序。我寫了一些函數來響應正確的http請求。一切都很順利,直到我使用Eclipse,因爲我使用這個類的外部服務器上「創造」的本地服務器從Jersey應用程序創建JAR文件

String baseUrl = "http://" + InetAddress.getLocalHost().getHostAddress() + ":8032/"; 
HttpServer server = HttpServerFactory.create(baseUrl); 
server.start(); 

現在我想箱子上載它的JAR文件,但是,當我運行的JAR文件(也在本地),它不起作用。我認爲,當我雙擊我的JAR文件時,服務器啓動(至少在本地),因爲上面的代碼已包含在內,它將啓動我們所需的全部功能。

我在哪裏錯了?

回答

1

如果它是glassfish服務器應用程序,則不應該雙擊該jar。

他們應該進入glassfish的/ lib文件夾,啓動服務器,並且您的代碼應該像在Eclipse中一樣部署。

+0

所以我必須把我的JAR文件放入(mac OSX)gslassfish/lib?因爲這個文件夾裏面有很多文件。我的應用程序是用Java編寫的,它不是一個web項目 – 2013-03-13 10:37:39

+0

是的,這個文件夾是你的jar應該被部署的地方。你如何從eclipse運行它?你使用螞蟻還是maven?如果它不是一個Web項目,你有一個現有的Web項目,然後調用此代碼?如果沒有,爲什麼它在應用程序服務器上運行? – david99world 2013-03-13 10:43:14

+0

當我在Eclipse上運行應用程序時,只需運行包含上述代碼的類。我使用簡單的澤西庫(在這裏下載表格)。我沒有web項目,因爲如果我想測試http響應,我只需要將正確的URL(使用locahost:端口)寫入Web瀏覽器 – 2013-03-13 10:51:07