2009-07-23 10 views
8

Esistono layout di directory standard per progetti Java? Quale layout preferisci di più?Layout di directory predefinito per il progetto Java

Mi sto chiedendo di un layout più complesso di solo 'src' e 'bin' nella directory del progetto (ad esempio dove metti le classi di test, costruisci configurazioni, ecc.?).

Grazie in anticipo.

risposta

6

Io di solito uso/src per codice sorgente,/test o/tst per codice test,/build per file di classe,/lib o/libs per dipendenze,/dist per mio JAR e librerie (quindi posso solo comprimere directory e distribuirlo senza pensare) e/docs per la documentazione (incluso JavaDoc). Il mio script di build Ant entra nella directory che quelli che ho chiamato sono sottodirectory di.

Quando creo, creo il JAR da/build e copio/lib e forse/docs in/dist.

+0

non credo che ho dimenticato di rilievo directory o gruppi di file. Se lo facessi, fammelo sapere e aggiungerò dove li metto. Al momento non ho progetti Java importanti al di fuori del lavoro. –

0

io uso:

programming 
    - distro 
    - java 
     - lib 
     - src 
      - com... 
      - net... 
      - org... 
     - tools 

E posso compilare classi fianco a fianco con i sorgenti, e il pacchetto da lì a una sottodirectory di distribuzione.

4

Stai utilizzando strumenti di compilazione? Ad esempio, Maven? In caso contrario, probabilmente dovresti - e in tal caso il layout della directory sarà predefinito per te.

+1

... e nel caso particolare di Maven, si consiglia di non attenersi al layout predefinito! –

+0

Cura da elaborare? Non sto dicendo che devi seguire la lettera, ma cosa c'è di sbagliato nel layout generale? – ChssPly76

+0

Questo è uno dei motivi per cui non mi piace affatto Maven. – duffymo

0

per progetti web Io di solito uso:

<project name> 
    dev 
    src 
    lib 
    www 
    build.xml 
    build 
    www 
    bin 
    www 

La cartella www in src è l'originale. La cartella www in build è quella in cui viene combinato con il contenuto di cartelle simili per produrre ciò che deve essere caricato. La cartella www esterna è dove eseguo una copia locale, completa di file temporanei e altri rifiuti simili. Ho uno script di formica nello build.xml per copiare le cose.

Mi piacerebbe sapere se c'è qualche tipo di standard.

+2

E i tuoi test vanno dove? – ChssPly76

2

Si potrebbe dare un'occhiata a Sun Developers Network - Project Conventions (Internet Archive)

+1

È triste che il link non funzioni più ... Puoi trovarlo [qui] (http://192.9.162.55/blueprints/code/projectconventions.html) ora. –

+2

Anche il link del commentatore è morto. L'OP è stato aggiornato con la copia di Internet Archive. –

Problemi correlati