我有一个 Java 控制台应用程序,我准备将其部署到 Unix 服务器上。我正在编写一个 shell 脚本来运行该应用程序。
我计划将我的 shell 脚本放在一个文件夹中,将我的应用程序 jar 和相关的 jar(spring 等)放在不同的文件夹中,并将属性文件(那些需要“实时”维护的文件)再次放在一个单独的文件夹中。然后我会让我的 shell 脚本遍历“jars”和“properties”文件夹中的文件,将它们附加到类路径,最后调用 java ...
这是一个“好的”部署结构吗?是否有关于如何安排文件以最大限度地提高可维护性和稳定性的指南?是否存在最好避免的明显“错误”方法?
我应该补充一点,对于以前的项目,我将所有 shell 脚本(那些启动 java 进程的脚本和那些不启动 java 进程的脚本)放入脚本文件夹,我的应用程序 jar 放入一个文件夹,库 jar 放在库子文件夹中和外部资源到配置子文件夹中。然后我写了一个脚本来显式加载所有文件。每当我升级一个库 jar 时,编写它就需要维护它。这一次我想做得更好。此外,感觉没有必要将我的应用程序 JAR 与库分开。
最佳答案
就其值(value)而言,这就是我们所使用的;
/
/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
我们使用 ant
进行构建,如果需要,通常有一个 src
文件夹用于源代码树。这样您只需将 /class
和 /lib
添加到您的类路径中,并且永远不会改变。
关于java - 什么是 java 控制台应用程序的良好部署目录结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13686463/