2012-12-24 23 views
89

Come creare un progetto Java Gradle dalla riga di comando?Come creare un progetto gradle Java

Dovrebbe creare standard maven folder layout come nell'immagine qui sotto.

Java Gradle created with Eclipse plugin

UPDATE:

.1. Da http://www.gradle.org/docs/current/userguide/tutorial_java_projects.html Ho bisogno di creare file di build.gradle con 2 linee

apply plugin: 'java' 
apply plugin: 'eclipse' 

.2. Aggiungere al build.gradle compito di sotto, di eseguire gradle create-dirs

task "create-dirs" << { 
    sourceSets*.java.srcDirs*.each { it.mkdirs() } 
    sourceSets*.resources.srcDirs*.each { it.mkdirs() } 
} 

.3. Quindi esegui gradle eclipse (o la stringa corrispondente su altro plug-in IDE configurato)

Quindi c'è un modo per farlo in un comando?

+0

Chiunque conosce l'equivalente di scheletro di progetto Java IntelliJ? – Beezer

+0

Penso che la risposta sia lampante sopra .... o una stringa corrispondente ad un altro plugin IDE configurato_: =) – Beezer

risposta

231

Per creare un progetto Java: creare una nuova directory del progetto, salto in esso ed eseguire

gradle init --type java-library 

Verranno create le cartelle di origine e un file di build Gradle (incluso un wrapper).

+4

Come menzionato in altre risposte, la documentazione sul plug-in build init può essere trovata qui: http://www.gradle.org/docs/current/userguide/build_init_plugin.html – Paul

+0

è molto buono. @Mike In eclipse, prima di fare questo, il progetto java deve essere convertito nel progetto gradle. Quindi, come posso impostare automaticamente le cartelle di origine? – verystrongjoe

+0

Una cosa importante. Devi avere la versione di Gradle con il plugin di init incluso. Mi ci è voluto un sacco di tempo per capire cosa c'è di sbagliato nel mio gradle. –

11

Purtroppo non è possibile farlo in un unico comando. C'è un issue for the very feature aperto.

Attualmente dovrai farlo a mano. Se è necessario farlo spesso, è possibile creare un custom gradle plugin o semplicemente preparare il proprio scheletro del progetto e copiarlo quando necessario.

EDIT

Il problema JIRA di cui sopra è stato risolto, a partire dal 1 maggio 2013, e fissato in 1,7-rc-1. La documentazione su Build Init Plugin è disponibile, sebbene indichi che questa funzione è ancora nel ciclo di vita "in fase di incubazione".

1

Se si utilizza Eclipse, per un progetto esistente (che ha un file build.gradle) si può semplicemente digitare gradle eclipse che creerà tutti i file e le cartelle di Eclipse per questo progetto.

Si occupa di tutte le dipendenze e le aggiunge al percorso delle risorse del progetto in Eclipse.

+2

Questo non crea cartelle di origine. Se non sono stati creati prima, le configurazioni di Eclipse non saranno complete. Tuttavia, grazie mille, aggiunto come passaggio .3 –

10

Infine, dopo aver confrontato tutte le soluzioni, penso che partire dal file build.gradle può essere conveniente.

La distribuzione del gradino ha la cartella samples con molti esempi, e c'è il comando gradle init --type basic vedere Chapter 47. Build Init Plugin. Ma hanno tutti bisogno di un po 'di editing.

È possibile utilizzare template sotto così, quindi eseguire gradle initSourceFolders eclipse

/* 
* Nodeclipse/Enide build.gradle template for basic Java project 
* https://github.com/Nodeclipse/nodeclipse-1/blob/master/org.nodeclipse.enide.editors.gradle/docs/java/basic/build.gradle 
* Initially asked on 
* http://stackoverflow.com/questions/14017364/how-to-create-java-gradle-project 
* Usage 
* 1. create folder (or general Eclipse project) and put this file inside 
* 2. run `gradle initSourceFolders eclipse` or `gradle initSourceFolders idea` 
* @author Paul Verest; 
* based on `gradle init --type basic`, that does not create source folders 
*/ 

apply plugin: 'java' 
apply plugin: 'eclipse' 
apply plugin: 'idea' 

task initSourceFolders { // add << before { to prevent executing during configuration phase 
    sourceSets*.java.srcDirs*.each { it.mkdirs() } 
    sourceSets*.resources.srcDirs*.each { it.mkdirs() } 
} 

task wrapper(type: Wrapper) { 
    gradleVersion = '1.11' 
} 

// In this section you declare where to find the dependencies of your project 
repositories { 
    // Use Maven Central for resolving your dependencies. 
    // You can declare any Maven/Ivy/file repository here. 
    mavenCentral() 
} 

// In this section you declare the dependencies for your production and test code 
dependencies { 
    //compile fileTree(dir: 'libs', include: '*.jar') 
    // The production code uses the SLF4J logging API at compile time 
    //compile 'org.slf4j:slf4j-api:1.7.5' 

    // Declare the dependency for your favourite test framework you want to use in your tests. 
    // TestNG is also supported by the Gradle Test task. Just change the 
    // testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add 
    // 'test.useTestNG()' to your build script. 
    testCompile "junit:junit:4.11" 
} 

Il risultato è come qui di seguito.

overview

che può essere utilizzato senza alcun plugin Gradle per Eclipse,
o con (Enide) Gradle for Eclipse, Jetty, Android alternativa al Gradle Integration for Eclipse

editbox

1

Potrei gestirlo utilizzando un metodo groovy in build.gradle per creare tutte le cartelle di origine per java, risorse e test. Quindi l'ho impostato per l'esecuzione prima dell'attività gradle eclipse.

eclipseClasspath.doFirst { 
    initSourceFolders() 
} 

def initSourceFolders() { 
    sourceSets*.java.srcDirs*.each { it.mkdirs() } 
    sourceSets*.resources.srcDirs*.each { it.mkdirs() } 
} 

Ora possiamo impostare un nuovo progetto Java EE Gradle di Eclipse con un solo comando. Ho messo questo esempio a GitHub

-3

Ho appena provato con con Eclipse Neon.1 e Gradle:

------------------------------------------------------------ 
Gradle 3.2.1 
------------------------------------------------------------ 

Build time: 2016-11-22 15:19:54 UTC 
Revision:  83b485b914fd4f335ad0e66af9d14aad458d2cc5 

Groovy:  2.4.7 
Ant:   Apache Ant(TM) version 1.9.6 compiled on June 29 2015 
JVM:   1.8.0_112 (Oracle Corporation 25.112-b15) 
OS:   Windows 10 10.0 amd64 

enter image description here

Su Windows 10 con la versione Java:

C:\FDriveKambiz\repo\gradle-gen-project>java -version 
java version "1.8.0_112" 
Java(TM) SE Runtime Environment (build 1.8.0_112-b15) 
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode) 

Ed fallito miseramente come puoi vedere in Eclipse. Ma ho navigato come un'aquila svettante in Intellij ... Non conosco Intellij, e un grande fan dell'eclissi, ma tizi comuni, questo significa NESSUN TEST Neon.1 per i casi più semplici ... per importare un progetto gradle . Questo non è abbastanza buono. Sto commutazione per IntelliJ per i progetti Gradle:

enter image description here

+0

La domanda è stata: come creare un progetto Java Gradle dalla riga di comando? –

+0

Qual è il problema dell'essere di aiuto in questo contesto Paul? È nello stesso contesto. Quindi, perché non mostrare che eclipse ha attualmente un problema con l'importazione. – Beezer

Problemi correlati