我有一個Java控制檯應用程序,我準備將其部署到Unix服務器上。我正在編寫一個shell腳本來運行該應用程序。什麼是適用於java控制檯應用程序的良好部署目錄結構
我打算將我的shell腳本放入一個文件夾,我的應用程序jar和相關的jar文件(spring等)到不同的文件夾和屬性文件(需要保持'live'的文件夾) 。然後,我的shell腳本遍歷'jar'和'properties'文件夾中的文件,將它們附加到classpath中,然後再最終調用java ...
這是一個'很好'的部署結構嗎?是否有任何指導如何安排文件以最大限度地提高可維護性和穩定性?是否存在明顯的「錯誤」方法來避免這種情況?
我應該補充一點,對於以前的項目,我將所有shell腳本(啓動java進程和不啓動java進程的那些腳本)放到腳本文件夾中,我的應用程序將jar放入庫中的一個文件夾中子文件夾和外部資源放入配置子文件夾中。然後我寫了一個明確加載所有文件的腳本。當我升級一個圖書館罐子時,它已經很長時間的寫下來了,需要維護。這一次我希望做得更好。另外,感覺沒有必要將我的應用程序JAR從庫中分離出來。
對此使用Maven。 – djechlin
Maven可以爲您的jar創建一個Manifest文件,並引用您的庫jar,然後java本身會找到這些文件。同樣取決於你如何「查看」屬性文件,你可以得到一個單獨的類路徑條目。編寫shell腳本的工作將大大減少。 – Konstantin
謝謝。我將使用maven-jar-pluging來調查我的工作量。我忘記了清單文件可以做到這一點。 –