Domanda

Maven 2 utilizza un layout di directory standard per i progetti, documentati qui:

http: //maven.apache .org / guide / introduzione / introduction-to-the-normale-directory-layout.html

Quello che mi chiedo è: Ci sono convenzioni consigliate per altri progetti, oltre alla biblioteca plain-vanilla Java, Java EE e progetti WebApp? In particolare, dove collocare i file di formiche, avviare gli script, i file di configurazione, applicazioni di esempio, ecc.

Inoltre, ciò che è la convenzione per l'immissione di file al di fuori dell'albero src / directory? Ad esempio, è comune a porre la documentazione in doc / (come fratello di src)?

C'è una pagina in cui vengono compilate queste convenzioni? In caso contrario, possono altri lettori fornire esempi dai loro progetti?

È stato utile?

Soluzione

Non credo che ci sia una disposizione ufficiale per le applicazioni desktop, ma questo è il layout che usiamo per i nostri.

  • src / main / config -. File di configurazione, copiati e filtrato per $ {} project.build.directory / config
  • src / main / scripts - sh, pipistrello, README ed altri file di testo che vengono copiati e filtrati a $ {} project.build.directory
  • .
  • src / main / bin -. I file binari che sono non filtrato e copiato in $ {} project.build.directory
  • src / main / build -. Tutti gli script aggiuntivi, file di formiche, o le risorse utilizzate dal processo di compilazione ma non inclusi nella domanda
  • src / main / assemblaggio - descrittore di montaggio per creare gruppo di applicazione
  • .
  • Copia dipendenze a $ {} project.build.directory / lib utilizzando plugin di Maven-dipendenza.
  • I punti di bonus se si utilizza un barattolo descrittore assembly condiviso che include la configurazione e lib insieme ai tipi di file standard per condividere con tutti i vostri progetti. Un buon set di tipi di file di default per includere è .sh, .bat, .exe e con i permessi eseguibili; .jar, .zip, .txt, .pdf, .xml, .properties, .conf, .ico, .png, .jpg con permessi standard.
  • Aggiungi cartella config e lib / prefisso al classpath utilizzando il plugin Maven-vaso per fare un barattolo eseguibile.
  • Aggiungi un profilo di installazione che crea un insieme di l'applicazione utilizzando il plugin Maven-assemblaggio e il descrittore di assemblaggio. Questo gruppo può quindi essere consumato da un progetto di installazione separato, se necessario.
  • Evitare di mettere niente altro al src / livello. Invece mettere documentazione presente all'interno della src / site / directory (ad es. Src / site / sfinge) o src / doc se si ha realmente bisogno.
  • Mettere tutta la configurazione di cui sopra in un genitore / pom aziendale per condividere con tutti i vostri progetti. Semplicemente riferimento il Maven-dipendenza, Maven-risorse, Maven-vaso, e plugin Maven-assemblaggio in voi progetto di costruzione di un'intera applicazione con quasi nessuna configurazione (non dimenticare di impostare la principale classe per il plugin Maven-jar) .

Altri suggerimenti

La cartella principale metto file di configurazione supplementari è sotto src / main / java / risorse. Di solito ho creato sub directory là sotto. I test possono avere i propri file di configurazione src / test / risorse.

È possibile utilizzare le direttive nella sezione build del pom.xml per specificare risorse aggiuntive directory e dove copiare i file su luoghi specifici nella directory di destinazione. Di solito una convenzione si pone per la lingua o di un quadro che si sta tentando di utilizzare. Nel qual caso il disastro può essere nascosto in un pom.xml genitore

http://maven.apache.org/pom.html#Resources

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top