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, "");
}
...
}
}