[java] Java Gradle 프로젝트를 만드는 방법

명령 줄에서 Java Gradle 프로젝트를 만드는 방법은 무엇입니까?

아래 그림과 같이 표준 maven 폴더 레이아웃을 생성해야 합니다.

Eclipse 플러그인으로 만든 Java Gradle

최신 정보:

.1. 에서 http://www.gradle.org/docs/current/userguide/tutorial_java_projects.html
나는 파일을 생성 할 필요가 build.gradle2 개 라인을

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

.2. build.gradle실행보다 아래 작업에 추가gradle create-dirs

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

.삼. 그런 다음 실행 gradle eclipse(또는 구성된 다른 IDE 플러그인에 해당하는 문자열)

하나의 명령으로 할 수있는 방법이 있습니까?



답변

Java 프로젝트를 만들려면 : 새 프로젝트 디렉토리를 만들고 여기로 이동하여 실행합니다.

gradle init --type java-library

소스 폴더와 Gradle 빌드 파일 (래퍼 포함)이 빌드됩니다.


답변

gradle 사람들은 모든 (y) 우리의 문제를 해결하기 위해 최선을 다하고 있습니다 ;-). 그들은 최근 (1.9 이후) 새로운 기능 (인큐베이팅)을 추가했습니다 : “build init”플러그인.

참조 : 빌드 초기화 플러그인 문서


답변

불행히도 하나의 명령으로는 할 수 없습니다. 바로 그 기능에 대해 공개 된 문제가 있습니다 .

현재는 손으로해야합니다. 자주 수행해야하는 경우 사용자 지정 gradle 플러그인을 만들 거나 자체 프로젝트 스켈레톤을 준비하고 필요할 때 복사 할 수 있습니다.

편집하다

위에서 언급 한 JIRA 문제는 2013 년 5 월 1 일부로 해결되었으며 1.7-rc-1에서 수정되었습니다. 이 기능이 여전히 “인큐베이팅”라이프 사이클에 있음을 나타내지 만 Build Init Plugin 에 대한 문서를 사용할 수 있습니다.


답변

마지막으로 모든 솔루션을 비교 한 후 build.gradle파일 에서 시작하는 것이 편리 할 수 있다고 생각 합니다.

Gradle 배포에는 samples많은 예제 가 포함 된 폴더가 있으며 Chapter 47. Build Init Plugin을gradle init --type basic 참조하십시오 . 그러나 그들은 모두 약간의 편집이 필요합니다.

아래 템플릿도 사용할 수 있습니다.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"
}

결과는 다음과 같습니다.

개요

Eclipse 용 Gradle 플러그인없이
또는 Eclipse, Jetty, Android 용 Gradle 용 Gradle Integration for Eclipse 대신 (Enide) Gradle 과 함께 사용할 수 있습니다.

편집 상자


답변

Eclipse를 사용하는 경우 기존 프로젝트 ( build.gradle파일이 있음)의 gradle eclipse경우이 프로젝트에 대한 모든 Eclipse 파일과 폴더를 생성하는 입력 만하면 됩니다.

모든 종속성을 처리하고 Eclipse의 프로젝트 리소스 경로에도 추가합니다.


답변

build.gradleJava, 리소스 및 테스트에 대한 모든 소스 폴더를 생성하기 위해 그루비 메서드를 사용하여 처리 할 수 ​​있습니다 . 그런 다음 gradle eclipse작업 전에 실행되도록 설정했습니다 .

eclipseClasspath.doFirst {
    initSourceFolders()
}

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

이제 우리는 단 하나의 명령으로 이클립스하도록 새로운 gradle Java EE 프로젝트를 설정할 수 있습니다. 이 예제를 GitHub에 넣었습니다.


답변

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

여기에 이미지 설명 입력

Java 버전이있는 Windows 10 :

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 프로젝트를 가져옵니다. 그것만으로는 충분하지 않습니다. Gradle 프로젝트를 위해 Intellij로 전환 중입니다.

여기에 이미지 설명 입력