Как создать проект Java gradle

Как создать проект Java Gradle из командной строки?

Он должен создать стандартную папку maven folder, как на рисунке ниже.

Java Gradle created with Eclipse plugin

ОБНОВЛЕНИЕ:

0,1. Из http://www.gradle.org/docs/current/userguide/tutorial_java_projects.html Мне нужно создать файл build.gradle с двумя строками

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

0,2. Добавьте в build.gradle задачу ниже, чем выполнить gradle create-dirs

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

0,3. Затем запустите gradle eclipse (или соответствующую строку для другого плагина IDE)

Так есть ли способ сделать это с помощью одной команды?

Ответ 1

Чтобы создать проект Java: создайте новый каталог проекта, перейдите в него и выполните

gradle init --type java-library

Будут построены исходные папки и файл сборки Gradle (включая обертку).

Ответ 2

Ребята из gradle делают все возможное, чтобы решить все (y) наши проблемы;-). Они недавно (начиная с версии 1.9) добавили новую функцию (инкубацию): плагин "build init"
См.: http://www.gradle.org/docs/current/userguide/build_init_plugin.html

Ответ 3

К сожалению, вы не можете сделать это в одной команде. Существует проблема с для самой функции.

В настоящее время вам придется делать это вручную. Если вам нужно делать это часто, вы можете создать пользовательский gradle плагин или просто подготовить свой собственный скелет проекта и скопировать его, когда это необходимо.

ИЗМЕНИТЬ

Проблема JIRA, упомянутая выше, была разрешена с 1 мая 2013 года и исправлена ​​в 1.7-rc-1. Доступна документация по Build Init Plugin, хотя она указывает, что эта функция все еще находится в жизненном цикле "incubating".

Ответ 4

Наконец, после сравнения всего решения, я думаю, что начало с файла build.gradle может быть удобным.

Gradle у дистрибутива есть папка samples с большим количеством примеров, и есть gradle init --type basic comand см. Глава 47. Плагин Build Init. Но все они нуждаются в редактировании.

Вы также можете использовать шаблон ниже, затем запустите 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"
}

Результат выглядит следующим образом.

overview

Это можно использовать без какого-либо плагина Gradle для Eclipse,
или (Enide) Gradle для Eclipse, Jetty, Android, альтернативный Gradle Интеграция для Eclipse

editbox

Ответ 5

Если вы используете Eclipse для существующего проекта (который имеет файл build.gradle), вы можете просто ввести gradle eclipse, который будет создавать все файлы и папки Eclipse для этого проекта.

Он заботится обо всех зависимостях для вас и добавляет их в путь ресурса проекта в Eclipse.

Ответ 6

Я мог бы обработать его с помощью метода groovy в build.gradle, чтобы создать все исходные папки для java, ресурсов и теста. Затем я поставил его перед задачей gradle eclipse.

eclipseClasspath.doFirst {
    initSourceFolders()
}

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

Теперь мы можем настроить новый проект gradle Java EE для затмения только одной командой. Я привел этот пример в GitHub

Ответ 7

Я только что попробовал с Eclipse Neon.1 и 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

введите описание изображения здесь

В Windows 10 с версией 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)

И он потерпел неудачу, как вы можете видеть в Eclipse. Но плыл, как парящий орел в Intellij... Я не знаю Intellij и огромный поклонник затмения, но обычные парни, это означает NO ONE teste Neon.1 для простейшего использования... для импорта gradle проект. Это недостаточно. Я перехожу к Intellij для проектов gradle:

введите описание изображения здесь