java - Web 应用程序构建过程 : Keep config files in WEB-INF/classes?

标签 java web-applications build

一些项目,作为其构建过程的一部分,清理了 WEB-INF 中的类文件夹,而其他项目则将一些配置文件保留在类文件夹中。后一组可能会使用其他地方的临时文件夹来构建他们的项目,然后将生成的类文件从这个临时文件夹复制到 WEB-INF/classes,从而保证他们的配置文件安全。

是否有任何关于 Web 应用程序构建的最佳实践?我用 Ant 。

最佳答案

用户可访问的配置文件最好存储在 /classes 之外,例如在 /WEB-INF/config 中。我区分了站点管理员可以触摸的配置文件(它们位于 WEB-INF 下)和那些“静态”文件,它们仅供开发人员/部署配置人员使用(诸如 sql 脚本之类的东西, XML/XSLT 模板、i18n 等)。

在构建期间清理 WEB-INF/类是首选做法 - 一些类被删除/重命名,资源文件也是如此。

其他配置文件,在 WEB-INF 下,但不在/classes 或/lib 中,必须被视为可升级的资源:只有在有新的时才替换旧的,或者使用专门设计的升级类来添加缺失的配置标签或行。

有一些棘手的情况,比如 log4j.properties 有时存储在 /classes 根目录中。如何正确处理它有点不同,但在大多数情况下,它属于“删除所有类并重新复制所有内容”。

关于java - Web 应用程序构建过程 : Keep config files in WEB-INF/classes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4172718/

相关文章:

java - 如何为Web应用程序构建maven构建,包括UI和服务器的构建

linux - Docker: standard_init_linux.go:211: exec 用户进程导致 "exec format error"

java - KeyTypedEvent KeyEvent的KeyCode一直是0?

java - 如何让JList显示ArrayList?

javascript - angularJS 文档中的各种术语是什么意思?

tomcat - wtpwebapps 和 webapps II 之间的区别

java - 我可以从 Eclipse 中运行 jetty-maven-plugin 吗?

java - Java中如何检查链表是否是回文?

java - Apache http客户端 4.3.1 java.lang.NoSuchFieldError : INSTANCE

json - json 文件中的 TFS 构建扩展 "VisibleRules"定义