2014-12-20 57 views
0

我剛開始開發一個基於ninjaframework的java web應用程序。一切都很好,但是:對於所有的忍者依賴,部署戰大約有25MB。我真的希望,我不必一直上傳一個25MB的java檔案 - 尤其是因爲這樣一個事實,依賴性不會像以前那樣頻繁地變化。我的應用程序的樣式表。ninjaframework-web應用程序如何拆分?

是否有一個實用的解決方案將ninjaframework-dependencies移動到一個單獨的jar?我正在使用eclipse,因此集成在IDE中的解決方案將非常棒。

到目前爲止,我已經看到了maven依賴關係範圍,並且已經(失敗地)試圖將依賴關係移動到一個單獨的項目中,並且用系統範圍的依賴項來引用該項目(我會理解能夠部署爲分離的jar文件)。我目前無法用maven構建這個依賴jar,但我也懷疑,如果有更好的方法。

我部署一個Tomcat的服務器上的應用程序在安裝的Plesk

回答

0

如果你必須使用所有的依賴,沒有辦法避免與您的應用程序部署它們。

你不知道你是否正在部署到一個容器(也許Tomcat)。如果這樣做,可以嘗試將所需的庫部署到容器中,並將Maven範圍設置爲,並提供以避免重新部署這些庫。

擁有容器提供的庫有好處,但它也可能是一個負擔。強烈依賴您的部署和操作流程。

+0

正如問題中所添加的那樣:我使用tomcat進行了部署,並且希望完全按照您的建議進行操作:將應用程序本身與應用程序本身分開部署,以避免重新部署。因爲我不想手動部署和指定每個依賴項,所以我正在尋找一種方法告訴maven將a(除了依賴項完全爲空)項目的所有依賴項打包爲一個組合的依賴項jar。但maven不斷告訴我,該項目是空的,因此將不會有任何出口(除了複製pom.xml) –

+0

這裏是一個很好的問題+答案:https://stackoverflow.com/questions/267953/managing- libraries-in-tomcat爲了部署這些庫,我只是使用你的部署過程將所需的庫移動到Tomcat * lib *目錄中,然後將你POM中的所有庫設置爲* provided *範圍,而不是將它們發送到所有。這樣你就可以將這兩個步驟很好地分開,並且可以將它們組織爲不同的部署步驟。 – cringe

2

另一種選擇是排除不使用的庫。例如,如果您不使用JPA,則可以通過Maven的xml標記安全地將其從構建中排除。

背景:Ninja 4默認會捆綁太多庫。這很酷,因爲所有東西都可以在沒有考慮圖書館需求的情況下使用。缺點是這個jar/war可能對你想要做的事情太大了。有關討論如何讓忍者更模塊化 - 隨時在我們的郵件列表中進行討論:)

但是,正如上面所寫的那樣 - 您可以使用Maven的排除手段來削減Ninja的捆綁。

相關問題