0

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

        ...

    }
}
4

1 に答える 1

-1

プラグインの作成について話していることが明らかになった後...モジョのビルド実行中にデフォルト値を置き換えることを意図していることがポイントになります。あなたが何を達成したいかはわかりませんが、あなたはそれを表現と間違えていると思います。さらに、デフォルト値の考え方は、それが置き換えられるということです。システム プロパティ。達成したいことを確認するための補足情報を提供できる場合があります。

于 2012-05-12T02:22:14.267 に答える