.properties file nella normale cartella src ok? [chiuso]

0

Lavoro su un progetto Java con una struttura suggerita (cartelle src separate per file java e file di risorse).

Dopo aver spostato il messaggio / i file delle proprietà relativi al testo in quella cartella, il meccanismo delle stringhe esterne in Eclipse non funziona come prima.

Di solito quando si passava il mouse sopra la stringa chiave in una chiamata getString (""), la descrizione suggeriva il contenuto del file delle proprietà con le impostazioni internazionali predefinite. Questo è stato estremamente utile per me personalmente. Sembra che questa funzionalità funzioni solo se il file delle proprietà si trova nella stessa cartella sorgente del codice Java che gestisce la roba BUNDLE_NAME.

Riesco a chiarire la necessità di spostare il file delle proprietà nella cartella src o dovrebbero essere tenuti separati dai file di origine java? Qualcos'altro che posso provare a far funzionare di nuovo la funzione con la nuova struttura?

    
posta Signature 07.05.2014 - 12:26
fonte

2 risposte

6

No, non è corretto mettere i file delle proprietà nella directory dei sorgenti. Alcuni ambienti di costruzione potrebbero essere piuttosto insoddisfatti di una tale struttura. Mentre sì, potrebbe funzionare e la directory di origine potrebbe trovarsi nel percorso della classe per te in Eclipse, l'opzione migliore è quella di avere le risorse in una directory separata.

Pensa al processo di costruzione. Questo è in genere 'creare tutti i file dalla directory di origine e inserire i file di classe risultanti in un'altra directory (target o dist)'. Quando ci sono file di proprietà (e altre risorse) mescolati, la build diventa più complessa dover selezionare un altro set di file per essere copiati nella directory di build.

Un approccio molto più semplice è avere sorgente in un punto e risorse in un altro. Questa è in realtà la struttura di directory preferita che richiede maven (con alcune directory escluse):

src/main/java
src/main/resources
src/main/webapp
src/test/java
src/test/resources

Ciò consente ai test (JUnit o TestNG) di essere in grado di utilizzare un insieme separato di risorse anziché le risorse principali e semplifica notevolmente il test.

Allo stesso modo, la directory webapp viene gestita specialmente quando si costruisce un file .war.

Mantenere separate le proprietà consente un processo di compilazione più semplice, un'identificazione più chiara dei file necessari per far parte del percorso di classe e un ambiente di test più semplice per l'override dei file che fanno parte del percorso di classe principale per i test .

    
risposta data 07.05.2014 - 22:51
fonte
4

Non lasciare che i tuoi strumenti (IDE, framework, strumenti di costruzione, ecc.) impongano come organizzi il tuo codice. Non mettere i tuoi file di proprietà dove Eclipse li vuole e non metterli dove lo vorrebbero i tuoi strumenti di packaging.

Organizzate il vostro codice in modo tale che sia ovvio quale sia la vostra applicazione e in modo che codice e risorse siano il più vicino possibile alle cose da cui dipendono. Se vuoi cambiare funzionalità, dovresti essere in grado di trovarlo e tutte le sue dipendenze vicine tra loro non mescolate con la barra. Non dovresti cercare o fare affidamento sul tuo ide per trovare quello che stai cercando.

Se i tuoi strumenti non supportano questo approccio, cambia i tuoi strumenti.

    
risposta data 07.05.2014 - 22:12
fonte

Leggi altre domande sui tag