1

次のような YAML プロパティ ファイルを使用して JHipster で生成されたアプリケーションがあります。

storage:
      location: ${user.home}/my/folder

私の問題は、ビルド時に変数 ${user.home} が解決されることですmvn package(Jenkins で)。したがって、プロパティは結果のアーティファクトで既に解決されているため、サーバーにデプロイすると、そのパスにはユーザー Jenkins の解決されたホームが含まれます。誰がなぜこれを行っているのか知っている人はいますか? 実行時に変数が解決されることを期待していました。

ありがとう。バレンティン

4

1 に答える 1

0

JHipster が Spring Boot の上にどのようにビルドされるかは完全にはわかりませんが、${user.home}ビルド時に拡張されるのは Maven のリソース フィルタリングであると推測されます。forとinによってデフォルトで有効になっています。spring-boot-starter-parentapplication.propertiesapplication.yamlsrc/main/resources

このSpring Boot の問題${…}には、エントリがフィルタリングされないようにするための構成変更の詳細とともに、いくつかの詳細情報が含まれています。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <encoding>UTF-8</encoding>
        <delimiters>
            <delimiter>@</delimiter>
        </delimiters>
        <useDefaultDelimiters>false</useDefaultDelimiters>
    </configuration>
</plugin> 
于 2014-09-23T15:37:56.833 に答える