명령 줄에서 Java Gradle 프로젝트를 만드는 방법은 무엇입니까?
아래 그림과 같이 표준 maven 폴더 레이아웃을 생성해야 합니다.
최신 정보:
.1. 에서 http://www.gradle.org/docs/current/userguide/tutorial_java_projects.html
나는 파일을 생성 할 필요가 build.gradle
2 개 라인을
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.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에 넣었습니다.
답변
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로 전환 중입니다.