Mojo属性的默认值以:
开头${user.home}
我会将值写入属性文件,然后应该在运行时替换它,而不是在构建时。
我试过了:
default-value="${user.home}/..."
default-value="\${user.home}/..."
default-value="\\${user.home}/..."
但它总是被运行构建的用户的user.home所取代。
有没有办法避免更换?
编辑:
有问题的代码在自定义Maven Mojo中:
public class MyCustomMojo extends AbstractMojo {
...
/**
* @parameter expression="${some-expression}" default-value="\\${user.home}/some-path"
* @required
*/
private String userdir;
...
@Override
public void execute() throws MojoExecutionException, MojoFailureException {
...
Properties configProperties = new Properties();
configProperties.setProperty(Main.USER_DIR_PROPERTY, userdir);
Path propertiesFilePath = confPath.resolve(propertiesFileName);
try (BufferedOutputStream bos = new BufferedOutputStream(Files.newOutputStream(propertiesFilePath))) {
properties.store(bos, "");
}
...
}
}
答案 0 :(得分:0)
在明确表示你正在谈论插件的创建之后......接下来的意思是,在构建执行mojo期间,default-value将被替换。我不确定你想要达到什么,但我认为你是用表达方式把它弄错了。此外,默认值的想法是它将被替换,包括。系统属性。也许你可以提供补充信息,看看你想要达到的目标。