springbootでpom.xmlの値を読みだします.

3281 ワード

まず、Javaコードではpom.xmlの内容を直接読み取ることができません.まず、xx.propertiesに値を回してから、xx.propertiesに対応する値をプログラムで読みます.
方式はm a v e nで処理されます.p_o mがs p r_i n_g−b o t−s t a r−r−p a_e n tを継承したら、S p r_i n_B_o tはすでにm a v e n−r_s_c−s−p l_g_i n sのデフォルトの{}方式をmavenで処理します.もしあなたのpomがspring-boot-starter-parentを継承したら、Spring Bootはすでにmaven-resource-pluginsのデフォルトの方式をmavenに処理されます.もしあなたのpomがspring−boot−starter−parentを継承したら、Spring Bootはすでにmaven−resource−pluginsデフォルトの{}方式を@@方式に変えました.@name@を使うなら、pomファイルに配置する必要があります.

    org.apache.maven.plugins
    maven-resources-plugin
    2.6
    
    
    ${}
    
    false
    
二.mvnリソースファイルの配置でMavenプロジェクトを構築する場合、特別な配置をしていない場合、Mavenは標準的なディレクトリ構造で各種ファイルを検索して処理します.src/main/javaとsrc/test/javaの二つのディレクトリの中のすべての*javaファイルはそれぞれcommleとtest-comple段階でコンパイルされ、コンパイル結果はそれぞれtarget/clasesとtarge/test-clasesディレクトリに入れられますが、この二つのディレクトリの中の他のファイルは無視されます.src/main/resocesとsrc/test/resourceの両方のディレクトリのファイルもそれぞれtarget/clasesとtarget/test-clasesディレクトリにコピーされます.target/clasesパッケージプラグインは、デフォルトではこのディレクトリのすべてのコンテンツをjarパッケージまたはwarパッケージの中に打ち込みます.リソースファイルの構成リソースファイルはJavaコードで使用するファイルです.コードは実行時に指定された場所でこれらのファイルを検索します.前に述べましたが、Mavenのデフォルトの処理方法については、カスタムの配置が必要な場合があります.
いくつかの設定ファイルはしばしば.javaファイルと一緒にsrc/main/javaディレクトリに置くことがあります.他のディレクトリのリソースもclasesディレクトリにコピーしたい場合があります.これらの場合は、Pom.xmlファイルで設定を変更する必要があります.
二つの方法があります.
一つは元素に追加して構成することです.もう一つは、maven-resource-pluginなどのサブ要素にリソースファイルを処理するプラグインを配置することである.レスポンスノードの設定

    .......
      
        
            src/main/resources
            
                **/*.properties
                **/*.xml
             
            false
        
        
            src/main/java
            
                **/*.properties
                **/*.xml
            
            false
        
    
    ......

リソース処理プラグインの設定

            maven-resources-plugin
            2.6
            
                
                    copy-xmls
                    process-sources
                    
                        copy-resources
                    
                    
                        ${basedir}/target/classes
                        
                            
                                ${basedir}/src/main/java
                                
                                    **/*.xml