我有一个 Java 控制台应用程序,现在准备部署到 Unix 服务器。我正在编写一个 shell 脚本来运行该应用程序。
我的计划是将 shell 脚本放入一个文件夹中,将应用程序 jar 和依赖的 jar(spring 等)放入另一个文件夹中,并将需要维护的属性文件(比如说实时更改的)放在一个单独的文件夹中。然后,我的 shell 脚本将遍历“jars”和“properties”文件夹中的文件,并将它们追加到类路径中,最后调用 java 命令……
这样的部署结构合适吗?有没有关于如何安排文件以最大程度地提高可维护性和稳定性的指南?有没有明显的“错误”方式应该避免?
附注一下,对于上一个项目,我将所有 shell 脚本(启动 java 进程和不启动 java 进程的脚本)都放在 scripts 文件夹中,将应用程序 jar 放在一个包含库 jar 的 library 子文件夹的文件夹中,并将外部资源放在 config 子文件夹中。然后,我编写了一个脚本来显式加载所有文件。虽然这样做很费劲并且需要在我升级库 jar 时进行维护,但这次我想做得更好。而且,将应用程序 JAR 与库分开似乎是不必要的。
我的计划是将 shell 脚本放入一个文件夹中,将应用程序 jar 和依赖的 jar(spring 等)放入另一个文件夹中,并将需要维护的属性文件(比如说实时更改的)放在一个单独的文件夹中。然后,我的 shell 脚本将遍历“jars”和“properties”文件夹中的文件,并将它们追加到类路径中,最后调用 java 命令……
这样的部署结构合适吗?有没有关于如何安排文件以最大程度地提高可维护性和稳定性的指南?有没有明显的“错误”方式应该避免?
附注一下,对于上一个项目,我将所有 shell 脚本(启动 java 进程和不启动 java 进程的脚本)都放在 scripts 文件夹中,将应用程序 jar 放在一个包含库 jar 的 library 子文件夹的文件夹中,并将外部资源放在 config 子文件夹中。然后,我编写了一个脚本来显式加载所有文件。虽然这样做很费劲并且需要在我升级库 jar 时进行维护,但这次我想做得更好。而且,将应用程序 JAR 与库分开似乎是不必要的。