2009-11-22 47 views
6

は、1つまたは複数のプロパティファイルに存在する重複するキーと値を教えてくれるツールです。プロパティファイル内で重複するキーと値を見つけるツール

+1

ツールではなく、統合テストを検討することができます。それは不思議に思えますが、私はJUnitを使ってプロパティファイルとサードパーティの翻訳スタッフの問題を防ぐのに役立ちました。 –

+0

シンプルで簡単な方法.. GoogleからcodeProPro AnalytiXを取得する、そのeclipseプラグイン。あなたのコードを監査することができます、それはプロパティファイル内のすべての重複したキーを見つけるでしょう。 – SPD

+0

私はあなたのコメントのために数ヶ月back.Thanks :)のカップルを見つけました。 –

答えて

3

Antタスクは、リソースファイルのセットで重複キーが存在するかどうかをチェックRscBundleCheckが、あります:

http://rscbundlecheck.sourceforge.net/

これは、ビルドに重複したプロパティをチェックするに統合するための簡単な方法だろうプロセス。

0

各ファイルとそのファイルの各プロパティについて、プロパティキーと値のペアをマップに配置しますが、そのキーがマップに存在しないことを確認した後でなければなりません。そうであれば、ファイル名、キー、および2つの値を出力します。

+1

ええ、私はgroovy.Butで1つを書いている再利用し、作成する場合は、私たちがある場合。 –

1

既存のツールがあるかどうかはわかりませんが、短時間でこれを行う必要がある、快適な言語で短いJavaプログラムやスクリプトを書くことができます。それからあなたは将来の使用のためにそれを持っています。

迅速なGoogle検索は、これはGUIツールとそれを行いますスクリプトを持って、次のhttp://www.javanb.com/netbeans/1/19793.html

をもたらしました。

+0

私もそれを見つけましたが、古すぎるようです –

+2

あまりにも古いですか?それはどういう意味ですか?それがうまくいけば、今すぐ動作します。または、プロパティファイルの形式がいつか変更されましたか? – jitter

0

IDEを使用している場合は、プラグインや機能の中で優れたツールが見つかるかもしれません。

Eclipseは、プロパティファイルを管理するResourceBundle Editorのプラグインがあります。

http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-331.html

のIntelliJ IDEA 8以降も、プロパティファイルを管理し、重複したエントリを確認することができます。

4
/** 
* Purpose: Properties doesn't detect duplicate keys. So this exists. 
* @author shaned 
*/ 
package com.naehas.tests.configs; 

import java.util.Properties; 

import org.apache.log4j.Logger; 

public class NaehasProperties extends Properties 
{ 
    private static final long serialVersionUID = 1L; 

    private static final Logger log    = Logger.getLogger(NaehasProperties.class); 

    public NaehasProperties() 
    { 
     super(); 
    } 

    /** 
    * @param defaults 
    */ 
    public NaehasProperties(Properties defaults) 
    { 
     super(defaults); 
    } 

    /** 
    * Overriding the HastTable put() so we can check for duplicates 
    * 
    */ 
    public synchronized Object put(Object key, Object value) 
    { 
     // Have we seen this key before? 
     // 
     if (get(key) != null) 
     { 
     StringBuffer message = new StringBuffer("Duplicate key found: " + key + " with value: " + value); 
     message.append(". Original value is: " + (String) get(key)); 

     log.error(message.toString()); 

     // Setting key to null will generate an exception and cause an exit. 
     // Can not change the signature by adding a throws as it's not compatible 
     // with HashTables put(). 
     // 
     // If you commented out this line, you will see all the occurrences of the duplicate key 
     // as the put will overwrite the past encounter. 
     // 
     key = null; 
     } 

     return super.put(key, value); 
    } 
} 
1

Netbeansには、sort line toolsプラグインがあります。このプラグインには重複を削除するオプションがあります。プロパティが1つ並んでいる場合は完全に動作します。

さらに、プロパティを並べ替えると、このファイルが読みやすくなります。

関連する問題