什么是java控制台应用程序的良好部署目录结构

Sar*_*ips 6 java unix

我有一个Java控制台应用程序,我准备部署到Unix服务器上.我正在编写一个shell脚本来运行该应用程序.

我计划将我的shell脚本放在一个文件夹中,我的应用程序jar和依赖jar(spring等)再次放在另一个文件夹和属性文件(那些需要维护'live')的文件夹中.然后我会让我的shell脚本遍历'jars'和'properties'文件夹中的文件,将它们附加到类路径中,然后再调用java ...

这是一个"好"的部署结构吗?是否有关于如何安排文件以最大化可维护性和稳定性的指南?有没有明显的'错误'方法来做到最好避免?

我应该补充一点,对于以前的项目,我将所有shell脚本(那些启动java进程和那些没有进程的脚本)放入脚本文件夹,将我的应用程序jar放入库子文件夹中的库jar文件夹和外部资源进入配置子文件夹.然后我编写了一个显式加载所有文件的脚本.每当我升级库jar时,写作都需要很长时间才能完成.这一次,我想做得更好.此外,我觉得没有必要将我的应用程序JAR与库分开.

lyn*_*nks 2

就其价值而言,这就是我们所使用的;

/
    /class
        //package hierarchy here, raw .class files
    /lib
        //library jars here, apache commons, gson etc, all .jars
    /conf
        //.properties files go here, including ones for libraries
    /doc
        //program documentation files, typically .txt
        /javadocs
            //java doc html root
    /sh
        //shell scripts including execute.sh and compile.sh
Run Code Online (Sandbox Code Playgroud)

如果需要的话,我们用于ant构建,通常有一个src用于源树的文件夹。这样,您只需将/class和添加/lib到您的类路径中,并且永远不会改变。