Javaの自動設定ツール - 自動構成プロファイル

Javaプログラマのためのコンフィギュレーションファイルの多種多様な、などのSpring Bean構成として、一般的であるように、アクションの設定と支柱。JDBC方式の構成、開発環境は、ローカルデータベースの開発にリンクすることができるいくつかの構成では、動作環境と多様に変化する、最も典型的にはされ、テスト環境は、専用のデータベース環境をテストするために設定され、生産ラインアプリケーションは、これらの構成は変更になる場合がありますことを、そこに複数のIDCに展開する場合にも、データベースを持つことになります。この問題を解決するために、いくつかのチームが人間の肉の異なる環境を変更するために展開する前に、いくつかの設定を同じ設定ファイルを使用して、いくつかのチームがそれぞれの環境のプロファイルを維持するがあるかもしれません。これらのプラクティスは、より多くのエラーが発生しやすいですし、コストの増加に伴って直線的に環境に増加します。

この記事では例を挙げて、自動設定ツールの自動構成を紹介します。異なる環境に対応する具体的な構成を形成するために、コンフィギュレーションテンプレートを使用して自動構成。そのコアアイデアは実行を自動構成する場合、これらのテンプレートから特定のプロファイルを生成するためのテンプレートとして定義されているいくつかの変数の設定を置くことです。自動構成は、最初に呼び出すためのコマンドラインから通常のJavaアプリケーションとしてであり、他方が実行するプラグインのmavenで、2つの動作モードをサポートしています。それを表示するためのプロジェクトを通じてMavenのMavenを使用する方法で、この記事の自動構成。

ソースコードのチェックアウトを使用すると、ローカルにインストールする前に自動構成は、当然のことながら、感ツールキットの淘宝網のオープンソースのWebフレームワークWEBXで、SVNアドレスhttp://code.taobao.org/svn/webx/citrus-tool/trunk/興味のある学生はまた、そのソースコードを見てする必要があります。インストールは簡単です、MVNクリーンなソースコードのルートディレクトリに-Dmaven.test.skipのチェックアウトをインストールし実行します。あなたはMavenをインストールする前に、使用Mavenのビルドを自動構成するので、インストールする必要があり、私はMavenの学生をインストールする方法がわからない、それをグーグルことができます。 

 

antoconfig記述ファイルと自動-config.xml構成ファイルを作成すると、テンプレートconfig.properties.vmをconfig.propertiesを。

config.propertiesテンプレートは、それが唯一のライン構成で、次の。 

キー= $ {} net_kiminotes_value   

次のようにantoconfig自動-config.xmlファイルが記載されています。 

 

<設定>   
    <グループ>   
        <プロパティ名= "net.kiminotes.value" />   
    </グループ>   
   
    <スクリプト>   
        <テンプレート= "config.properties.vm" destfile = "config.properties" 文字セットを生成する= "UTF-8" />   
    </ SCRIPT>   
</ config>の   

要素はnet.kiminotes.valueを構成する属性自動構成に必要なプロパティを定義します。グループ要素異なるプロパティグループのライブラリーは、ここに一つだけのグループで構成されました。設定ファイルが生成戦略を定義して生成し、テンプレートの属性は、テンプレートコンフィギュレーションファイルを定義して、destfileは、プロファイルを作成するための格納位置を定義します。

注:いくつかの混乱を感じるかもしれませんが、テンプレートファイルのconfig.properties.vmは、あなたが明らかにnet_kiminotes_value交換する必要があり、なぜプロパティが自動-config.xmlファイルでそれをnet.kiminotes.value定義するのでしょうか?今だけに置き換えられますプロパティの名前を覚えておく必要があり、その後のブログで説明した具体的な理由の時間自動構成の実行中にポイントを強調する。

次のように最後に、ポンポン、ポンポンファイル全体でルックMavenの自動構成プラグを設定します。 

 

<プロジェクトのxmlns = "http://maven.apache.org/POM/4.0.0"のxmlns:XSI = "http://www.w3.org/2001/XMLSchema-instance"    
  のxsi:schemaLocationの = "のhttp:/ /maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd ">   
  <modelVersion> 4.0.0 </ modelVersion>   
   
  <groupIdを> net.kiminotes </ groupIdを>   
  <たartifactId>自動構成</たartifactId>   
  <バージョン> 1.0-SNAPSHOT </バージョン>   
  <パッケージ> JAR </梱包>   
   
  <ビルド>   
<プラグイン>   
<プラグイン>   
<groupIdを> com.alibaba.citrus.tool </ groupIdを>   
<たartifactId>のmaven-自動構成-プラグイン</たartifactId>   
<バージョン> 1.0.9 </バージョン>   
<実行>   
<! - 自動構成の目的でのmaven-自動構成・プラグインパッケージのフェーズを実行するように設定 - >   
<実行>   
<ID>設定</ ID>   
<目標>   
<目標>自動構成</目標>   
</目標>   
<フェーズ> パッケージ </位相>   
</実行>   
</実行>   
</プラグイン>   
<プラグイン>   
<たartifactId>のmaven-jarファイル・プラグイン</たartifactId>   
<設定>   
<アーカイブ>   
<! - あなたはjavaの-jarコマンドラインによって実行されるjarファイルを再生できるようにjarファイルパッケージ果たしたMANIFEST.MFファイルは、メインクラスのこの1つの構成を追加します - >   
<manifestEntries>   
<メインクラス> net.kiminotes.Main </メインクラス>   
</ manifestEntries>   
</アーカイブ>   
</設定>   
</プラグイン>   
<プラグイン>   
<groupIdを> org.apache.maven.plugins </ groupIdを>   
<たartifactId>のmaven-コンパイラプラグイン</たartifactId>   
<バージョン> 2.3.2 </バージョン>   
<設定>   
<対象> 1.6 </ターゲット>   
<ソース> 1.6 </ソース>   
</設定>   
</プラグイン>   
</プラグイン>   
  </構築>   
</プロジェクト>  

 

設定ファイル$ {} net_kiminotes_valueでテンプレートconfig.properties.vm構成変数は、この割り当ての構成アイテムを行うにはどのようにして、実装の自動構成に交換する必要がありますか?自動構成は、第二の構成変数を割り当てるには二つの方法を提供して最初の対話形式でプロパティファイルを編集して、Javaから読み込まれます。自動構成antx.propertiesは、まず$ {のuser.home}を読んでいない場合は、ファイルの現在の作業ディレクトリを読み込み、ファイルを/antx.properties、ファイルが存在しない場合、それはインタラクティブなエディタの自動構成要求ユーザ入力設定変数を開始しますコンフィギュレーション変数の値が不完全自動構成である場合、値は、直ちに設定を中止し、例外をスローします。場所が自動設定されていない場合はjavaファイル属性のデフォルトの位置は、パラメータautoconfig.userPropertiesによって構成されていてもよいです。シンプルな一方で、我々はJavaのプロパティは、現在のディレクトリにantx.propertiesをファイルを作成し、この文書では、$ {} net_kiminotes_value設定変数の値を定義します。次のようにファイルのantx.propertiesの内容があります。

net.kiminotes.value =こんにちは、世界

全体のプログラムの構造は次のように:

 

 プロジェクトをビルドするには、次の実行達人。MVNパッケージを実行し、jarファイルのパッケージを実行し、ターゲットディレクトリにJARパッケージ自動構成-1.0-SNAPSHOT.jarに生成されます。

 

おすすめ

転載: www.cnblogs.com/jiliunyongjin/p/11792914.html