2009-11-22 10 views
6

hay una herramienta que me dice claves redundantes y valores que están ahí en mi archivo de propiedades o uno.Herramienta para encontrar claves duplicadas y valor en el archivo de propiedades

+1

En lugar de una herramienta, es posible que desee considerar una prueba de integración. Suena extraño, pero he escrito uno (con JUnit) para ayudar a prevenir un problema con los archivos de propiedades y nuestro personal de traducción de terceros. –

+0

Manera simple y fácil ... obtenga CodePro AnalytiX de Google, es un plugin de eclipse. Puede auditar su código, encontrará toda la clave duplicada en el archivo de propiedades. – SPD

+0

encontré ese par de meses atrás. Gracias por tu comentario :). –

Respuesta

3

Hay una tarea de Ant, RscBundleCheck, que comprueba la existencia de duplicados de las llaves en un conjunto de archivos de recursos:

http://rscbundlecheck.sourceforge.net/

Esto sería manera sencilla de integrar la comprobación de las propiedades duplicadas en su construcción proceso.

0

Puede ser más fácil escribir uno: para cada archivo y para cada propiedad en ese archivo, coloque el par clave/valor de propiedad en un Mapa, pero solo después de asegurarse de que la clave no se encuentre en el Mapa. Si es así, imprima el nombre del archivo, la clave y los dos valores.

+1

Ya, estoy escribiendo uno en groovy. Pero es mejor reutilizar y crear, si tenemos uno. –

1

No sé si hay una herramienta existente, pero debería poder escribir un programa corto en java o un script en un idioma con el que se sienta cómodo que lo haga en muy poco tiempo. Entonces también lo tendrías para uso futuro.

Una rápida búsqueda en Google se desprende la siguiente http://www.javanb.com/netbeans/1/19793.html

esto tiene una herramienta de interfaz gráfica de usuario y un script que lo hará.

+0

Yo también lo encontré, pero parece ser demasiado viejo –

+2

¿Demasiado viejo? ¿Qué quieres decir con eso? Si funcionó entonces, funcionará ahora. ¿O el formato del archivo de propiedades cambió alguna vez? – jitter

0

Si está utilizando un IDE, puede encontrar una buena herramienta entre sus complementos/características.

Eclipse tiene un plugin ResourceBundle Editor que gestiona los archivos de propiedades:

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

IntelliJ IDEA 8 y superior también es capaz de gestionar archivos de propiedades y compruebe si hay entradas duplicadas.

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

En Netbeans hay un plugin sort line tools, que tiene la opción de eliminar los duplicados. Funciona perfectamente si las propiedades están alineadas.

Además, la clasificación de las propiedades hace que este archivo sea más legible.

Cuestiones relacionadas