开发者

Web application build process: Keep config files in WEB-INF/classes?

开发者 https://www.devze.com 2023-01-25 03:09 出处:网络
Some projects, as part of their build process, clean up the classes folder in WEB-INF, while others keep some of their config files in the classes folder. The latter group might use a temporary folder

Some projects, as part of their build process, clean up the classes folder in WEB-INF, while others keep some of their config files in the classes folder. The latter group might use a temporary folder somewhere else to build their project and then copy the gener开发者_开发知识库ated class files from this temporary folder to the WEB-INF/classes, thus keeping their config files safe.

Is there any best practice regarding web application builds about this? I use ant.


User-accessible config files are better stored outside of /classes, e.g. in /WEB-INF/config. I differentiate config files that site admins can touch (they are placed under WEB-INF) and those, kind of 'static' ones, that are meant for developers/deployment configurators only (stuff like sql scripts, XML/XSLT templates, i18n etc).

It is preferred practice to clean up WEB-INF/classes during builds - some classes get deleted/renamed, so are resource files.

Other config files, under WEB-INF, but not in /classes or /lib, have to be treated as upgradable resources: either replace old ones only when there is a new one, or use specifically designed upgrade classes to add missing config tags or lines.

There are tricky situations, like log4j.properties is sometimes stored into /classes root. It is a bit of a different story how to properly handle it, but in most instances it falls under "delete all classes and copy everything anew".

0

精彩评论

暂无评论...
验证码 换一张
取 消