我目前正在使用java中的国际化web应用程序,只使用标准servlet API(无框架)。为标题,标签等页面上的所有静态文本。我一直在使用fmt标记库,由WEB-INF/classes中的属性文件支持。 应用程序几乎已完成,但我们的客户可能稍后想要更改或更新翻译的要求已突然出现。
由于属性文件位于战争内部,因此无需重新编译应用程序就无法执行此操作。所以,我的问题很简单:是否有任何方法更新战争中的属性文件,或者可能有setBundle标记从外部目录加载文件。或者可能是第三种更干净和正确的方法来实现这一目标?改变jstl fmt中的翻译而无需重新编译
1
A
回答
0
将它们放入外部文件夹并将其路径添加到webapp的运行时类路径中。例如,/var/webapp/conf
。至于将此路径添加到Web应用程序的运行时类路径,这取决于所使用的服务器。如果是例如Tomcat 6/7,那么您需要将其添加到Tomcat/conf/catalina.properties
文件的shared.loader
属性中。
shared.loader = /var/webapp/conf
这种方式是可以在Web应用程序的运行时类路径通常的方式,你不需要重新打包WAR ..
2
战争只是一个zip文件。解压缩它,更改属性文件并重新压缩。不需要重新编译任何东西。
提供一个简单的脚本来完成单个操作应该很容易。你甚至可以使用jar的u(更新)选项来做到这一点。请参阅http://download.oracle.com/javase/tutorial/deployment/jar/update.html
相关问题
- 1. 无需重新编译预编译头文件即可重建
- 2. 无法编译新版本的翻译
- 3. 如何更改Web服务URL而无需重新编译?
- 4. 需要JSP重新编译?
- 5. 编译debug = true - 更改而不重新编译?
- 6. 使用资源(resx)在ClassLibrary中,可以更改而无需重新编译
- 7. libclang缓慢地重新编译翻译单元
- 8. 依赖注入,无需重新编译即可实现更改
- 9. 可能更改应用程序图标,而无需重新编译APK?
- 10. 角度翻译更新翻译表
- 11. 重新编译被编译为OS \ 2需要在DOS
- 12. 无需编译 - 编译运行
- 13. C#更新DLL,无需重新编译项目
- 14. Intellij Idea编译器重新编译已编译的项目
- 15. GWT widgetSet何时需要重新编译?
- 16. 在PHP中添加对OpenSSL的支持,无需重新编译
- 17. 无法在Netbeans 7.0中重新编译
- 18. 无法重新编译反编译的类文件
- 19. Scala中的错误Maven重新编译时无需更改代码
- 20. 将动态属性添加到类中而无需重新编译?
- 21. 重新编译jodatime?
- 22. 重新编译PHP
- 23. 如何重新编译IL
- 24. 是否可以更改WCF服务而无需重新生成客户端代理和重新编译?
- 25. 重新编译-fPIC的Gentoo
- 26. C++的热重新编译
- 27. Docker重新编译时间
- 28. powerpc汇编翻译
- 29. 使用dll与不同的PublicToken属性,无需重新编译
- 30. JSTL fmt formatDate标记原样传递,而不是所需值
我不知道如何需要改变或更新了翻译也“突然“想出来 - 你应该总是假定应用程序中的任何文本可能需要修改,尤其是*翻译。 –
当然,它很容易修改,只要你有源代码(或解压缩/重新压缩如下建议,或部署爆炸战争)。这也是为什么我希望有一个干净的方式来做到这一点。 – vruum