0
のデフォルト値で文字をエスケープ:Mavenのモジョ:モジョプロパティのデフォルト値はで始まるプロパティ
${user.home}
私はプロパティファイルに値を書き込みますし、それがその後、実行時ではない交換する必要がありますビルド時に
は、私が試した:default-value="${user.home}/..."
default-value="\${user.home}/..."
default-value="\\${user.home}/..."
それは常にビルドを実行しているユーザーののuser.homeと置き換えます。
交換を避ける方法はありますか?
編集:
問題のコードは、カスタムでMavenのモジョです:あなたがして、プラグインの作成について話していることが明らかに来ていた後...ポイントが来ている
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, "");
}
...
}
}
わかりません。デフォルト値はMojoのJavadocの一部です。 (MojosはJavadocベースのアノテーションを使用しています。)後でプロパティファイルに_write_したいのですが、書き込む前に置換されています。 – Puce
あなたはpomと、あなたが正確に呼んだものと、上記のファイルがどこにあるのでしょうか? – khmarbaise
デフォルト値はカスタムMaven Mojoプラグインの一部です。更新された質問を参照してください。 – Puce