2010-11-15 95 views
1

我正在開發一個Spring(用於服務器端Web開發的Java框架)Web應用程序,它將響應另一個客戶端Java應用程序(它使用套接字通信)由一個JSON對象。同時,我正在處理服務器端和客戶端Java應用程序。在兩個不同的項目中使用一個Java源文件,這兩個項目都在開發中

問題是我有一堆文件(比如說,一個Json變量接口)在兩個項目中都被使用。目前,我在這兩個項目的不同軟件包中都有該界面的副本。但是這會導致不一致,因爲無論何時我需要在界面中進行更改,都必須更新這兩個文件。

有沒有人有這個整潔的解決方案?

感謝

回答

3

你應該在包級別而不是文件級別對待你的共享代碼。

您應該創建一個由體系結構的客戶端和服務器端使用的接口定義包,並且無論何時該包發生更改,雙方都必須相應地進行更改。

編輯:

我不明確有關,但zellus'關於導入通用代碼的jar是個不錯的建議。

+0

這可能是一個愚蠢的問題: 我應該在這些項目的src目錄中創建這個包嗎?那麼如果我將服務器端和客戶端代碼移到不同的機器上會發生什麼? – 2010-11-15 23:16:05

+0

然而,你管理你的源代碼的路徑應該都是相對的而不是絕對的,所以如果你改變機器應該沒關係。 – 2010-11-15 23:20:17

+0

那麼,你是正確的使用相對路徑。我的意思是說,因爲這兩個項目應該運行在不同的機器上,當我將每個項目移動到他們自己的機器時,共享包會發生什麼?然後,我必須將軟件包複製到服務器和客戶端計算機上,對嗎?(假設我將項目移動到不同的計算機時仍然能夠編輯源代碼) – 2010-11-15 23:29:31

2

您可以爲常用JSON代碼創建單獨的項目。使用subversion,svn:externals可以在源代碼級別上實現整潔的集成。將通用代碼導入爲jar文件是另一種方法。

1

如果您使用的是maven,您可以創建一個本地maven項目,其中包含您在不同項目中可能需要的所有類,並將此依賴項添加到需要這些類的pom.xml中。

相關問題