使用Maven重写Java常量?

使用Maven重写Java常量?,java,build,constants,maven-3,Java,Build,Constants,Maven 3,使用Maven,是否可以重写Java常量 想象一下我有 public static final String buildBy="Eclipse"; 使用Maven时,应将其更改为 public static final String buildBy="Maven"; 可能吗?谢谢:-)是的,这是可能的。但是你必须把文件放在你的资源目录下。您可以将java文件放在resource目录下,但更好的方法是将值提取到属性文件中,将该文件放在resources下,并让maven过滤属性文件。这是一种,

使用Maven,是否可以重写Java常量

想象一下我有

public static final String buildBy="Eclipse";
使用Maven时,应将其更改为

public static final String buildBy="Maven";
可能吗?谢谢:-)

是的,这是可能的。但是你必须把文件放在你的资源目录下。您可以将java文件放在resource目录下,但更好的方法是将值提取到属性文件中,将该文件放在resources下,并让maven过滤属性文件。

这是一种,应该转到目录
/src/main/resources
,maven()可以轻松更改该目录


另请阅读:

另一种可能是使用可用于实现此类目的的。

将不断变化的常量移动到属性文件中。在你之后维护你的代码的开发人员会感谢你的。是的,如果你考虑一下的话,应该去那里。这不是一个真正的
静态最终值。它的变化取决于您构建产品的方式。感谢您的所有回答,使用资源和过滤器使其正常工作。这里可以找到一个很好的例子:我需要将它们用作属性,所以它们必须是最终的。如果它真的需要是常量,那么这不是解决方案。比如在属性值中使用它们。你有使用的例子吗?我根据文档做了所有事情,但因为没有生成Constants.java文件。生成失败,Intellij也找不到此文件。如果它将被生成,如何引用它?啊哈,我不得不手动运行插件maven build“templating:filter sources”,谢谢,我将看看这个例子。我不想手动启动构建任务,因为这样的风险仍然存在,例如,有人在生产环境中部署了dev配置。任务模板化:必须在生成时始终调用筛选器源。