在我的 java 项目中,我在 messages.properties
文件中外部化了一堆字符串。在其各自的 Messages.java 文件中,我具有相同数量的公共(public)静态字符串类型属性,因此我可以访问这些外部化文本。
然后,我实现了一个名为 getString
的方法,该方法接收常量的名称作为其参数并返回所需的文本。这样,就不需要在 Messages.java
文件中声明所有公共(public)静态字符串类型属性。
但是执行此操作后,我的日志中充满了“NLS 未使用的消息”消息。
您知道是否有办法阻止记录这些警告消息?
提前致谢。
最佳答案
您的Messages
类 - 听起来它扩展了org.eclipse.osgi.util.NLS
。
如果是这种情况,它的设计是为了满足要求:
- 提供编译时检查消息是否存在的功能。
- 避免包含键和值的映射的内存使用(资源捆绑方法中就是这种情况)。
- 良好的国际化支持。
即NLS 使用 messages.properties 中找到的 staticVariable
值填充 Message.staticVariable
的值。
警告日志记录提供有关 Messages.java
和 messages.properties
文件之间不匹配的信息。
您的 getString() 方法听起来好像没有使用 NLS 的任何优点,因此正如其他人所建议的那样,您最好使用 ResourceBundle。
关于java - 如何避免 java 项目上不需要的日志消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/420140/