2016-04-02 7 views
12

Sono piuttosto confuso dall'integrazione gradle di IntelliJ IDEA e dalla mappatura dei sottoprogetti gradle ai moduli IDEA.IntelliJ IDEA e Gradle: Perché ci sono 3 moduli per sottomodulo?

  • Perché ci sono 3 moduli per ogni sottoprogetto gradle (client, client_main e client_test)?
  • C'è un modo per sbarazzarsi del modulo "genitore"? Ogni volta che lo cancello la mia build si rompe in modi confusi.

Project Structure

UPDATE

  • La radice contenuto del terzo modulo ("server") è sempre impostato l'intera cartella come si vede qui sotto. Ciò significa che non posso contrassegnare le directory in build come sorgenti generate, poiché sono escluse per impostazione predefinita.

enter image description here

+0

Questo non è un comportamento che abbia mai visto prima. –

+0

Mi piacerebbe conoscere la soluzione per fermare anche questo. Il mio progetto gestisce i test in un sottomodulo separato e [questo] (https://i.imgur.com/90iOV1i.png) non è inteso. –

+0

La fonte è visibile da qualche parte? – fge

risposta

11

Ora è possibile deselezionare l'opzione quando si importa il progetto Gradle in IDEA, check-in 2016/01/02 Ultimo IDE. Per prima cosa vai all'opzione gradle import e seleziona il tuo file gradle.

Project Import Dialog

Poi nella finestra di dialogo che appare, assicurarsi di deselezionare l'opzione che dice creare modulo separato per ogni fonte impostata. Questo è selezionato per impostazione predefinita. Ora continua con l'importazione del progetto come faresti normalmente.

Gradle configuration dialog

E questo è tutto, si può godere il vostro progetto, verrà creato un solo modulo per ogni progetto sub nel multi costruzione del progetto Gradle.

Questa opzione è utile solo se si ha un sottoprogetto separato in gradle per i test come me. Altrimenti, il modo predefinito funziona molto bene, poiché ho trovato più facile lanciare i test unitari.

Imported project, package view

Spero che questo aiuti.

+0

Ciò non modifica nulla nel mio progetto esistente. (Intellij IDEA 2016) –

+0

Sto usando anche il 2016. È necessario eliminare manualmente i file .ipr e .iml dalla directory del progetto, prima di procedere. E scegli di non importare o sincronizzare con Gradle nell'IDE. –

+0

@FabianZeindl Ho aggiornato la risposta, per favore dare un'occhiata. –

Problemi correlati