我正在Eclipse中使用動態Web項目,並且正在計劃使用JavaScript單頁應用程序前端的Java JAX-RS RESTful後端, Angular/Durandal/Aurelia風格的框架。就這一點而言,在Java世界中部署的典型方式是將東西捆綁爲一個WAR文件 - 它本質上是一個JAR文件。麻煩的是,包括node_modules在內的相當大的WAR文件的大小。另一方面,我可以在部署後執行'npm install'。但是,在我經常部署的開發機器上,這需要花費太多時間。我更喜歡我是否可以使用'npm install'模塊在Web服務器上準備安裝目錄,然後在其上部署WAR文件。麻煩的是,看起來WAR文件部署喜歡擦除文件夾,如果它們不包含在WAR文件中的話。帶有一堆npm包的Java War文件部署
我正在使用GlassFish 4.1應用程序服務器。對於我來說,理想的解決方案是通過修改MANIFEST.MF文件在WAR文件中'隱藏'目錄,以便在展開後隱藏的目錄不會被覆蓋。這對我的問題來說是最簡單的解決方案。但是,我知道沒有用於JAR/WAR文件清單的隱藏清單條目。
可能還有創造性的解決方案來使用'npm link'命令。歡迎任何建議。
也許這是由於其他原因,爲什麼一旦人們在客戶端開始使用npm,他們就開始關注節點並在服務器端進行表達。但是,我不相信他們不能一起玩,我想保留所有舊式開源Java庫的選項。
我會試試這個。問題的一部分是我正在同時從Windows遷移到Linux。 .NET到Java,ASP.NET到Aurelia,Web API到JAX-RS。樂趣。似乎我可以學會編寫一個小型bash腳本,它可以手動複製某些文件並觸摸.reload,並以某種方式將其掛接到Eclipse部署中。我猜的合理嗎? – rayoub
是的,這是最快的('cp -ur target/webapp/path/to/applications/yourapp && touch/path/to/applications/.reload')。如果您使用Eclipse以外的任何構建工具,比如Maven或Ant,那麼這裏有選項。您也可以使用nodejs Grunt來複制文件;無論你最喜歡哪種語言。 – Kenney