2011-08-12 83 views
1

我使用筆記本電腦進行開發,但資源有限。我有一個本地的eclipse/maven和我的本地代碼庫,我想保持這一點,因爲我希望能夠隨時進行編程,編譯和junit測試。調試遠程服務器上的eclipse/maven項目?

在我的辦公室,我希望能夠在類似產品的情況下進行調試,這意味着需要一個大型數據庫和一個8GB內存的Java堆。

我認爲設置eclipse和maven將編譯代碼放到遠程機器上,執行maven進程(jetty:在遠程機器上運行)並附加eclipse以進行調試應該不會太困難。遠程機器可以有自己的數據庫,我只需要確保maven倉庫是同步的。

有沒有人設法運行這個或類似的場景?我仍然想不通如何把我的〜10項目的編譯源碼放在遠程機器上。我認爲運行一個maven任務並附加一個調試器應該很簡單,只需一些ssh-magic。

+0

這可以輕鬆完成。你想要完全調試什麼?單元測試?嵌入式碼頭?提供更多信息。 –

+0

嗨Micheal,正如我在描述中寫的,我想遠程運行並調試一個mvn碼頭:運行java進程。 CLASSPATH包含了來自我的eclipse工作區(啓用maven工作區解析)的〜10個類文件夾,當然還包括maven依賴(可以位於遠程服務器上,不需要任何魔法)。你如何建議調試這個環境? – Jan

+0

經過一段時間後,我想我會嘗試編寫一些「理解」「運行爲maven構建...」調用的java環境包裝器。它已經可以在遠程主機上運行簡單的java腳本。 (它複製類路徑並通過ssh,連接輸入/輸出流調用java)。然而,它遠沒有準備好...... – Jan

回答

2

除非防火牆出現問題,否則不應使用ssh-magic。只需將您的項目以某種方式放到遙控器上,然後使用mvnDebug而不是mvn來運行構建。默認情況下,Maven將在端口8000上偵聽調試連接,並等待連接後繼續構建。在Eclipse中配置一個remote debugging啓動器,並且它會像正常一樣進行連接和調試。至於獲得代碼,你可以使用rsync,但這是git的一個很好的用例。這就是我自己做這件事的方式。

編輯:我從來沒有想過用Eclipse做這件事,但是你可以從Eclipse運行任何命令,所以rsync應該可以正常工作。 rsync的是,你要像

rsync -ruz . <user>@<host>:/<path> 

運行,從你的項目目錄,它應該目錄的全部內容複製到遠程主機上,只能複製更新文件的初始副本後。您可以使用可重複的--exclude選項來排除目標等目錄。例如。 --exclude=target。複製項目之後,你可以開始構建與

ssh <user>@<host> mvnDebug <whatever> 

的git的方式似乎有點神祕的多,如果你不與git的熟悉,但它具有能夠很容易地就使修復了額外的好處遙控器並將它們拉回到本地。用git,你首先要用ssh登錄到遠程,創建一個項目目錄,並且它是git init。在這之後,你可以隨時更改推到遠程與

git push -f <user>@<host>:/<path> master 

假設你在主的工作,然後在遙控器上:

git reset --hard 
mvnDebug <whatever> 
+0

「只是讓你的項目進入遙控器」是一個棘手的部分 - 我的意思是我不想用手做,而只是通過按鍵的方式 - 按鍵。雖然我沒有任何git體驗,但我不想要的是在遠程主機上查看我的源代碼。 – Jan

+0

瑞恩給你正確的解決方案。 1.把你的代碼放到那臺機器上。 2.編譯它3.用jetty運行mvnDebug:運行並附加到該VM。而已。 –

+0

更新了我的答案。看看是否有幫助。 –

相關問題