Java gradle प्रोजेक्ट कैसे बनाएं


120

कमांड लाइन से Java ग्रैडल प्रोजेक्ट कैसे बनाएं?

यह नीचे की तस्वीर की तरह मानक मावेन फ़ोल्डर लेआउट बनाना चाहिए ।

जावा ग्रैडल ग्रहण प्लगइन के साथ बनाया गया

अपडेट करें:

.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() }
}

.3। फिर चलाएं gradle eclipse(या अन्य IDE प्लगइन कॉन्फ़िगर किए गए स्ट्रिंग)

तो क्या इसे एक कमांड में करने का कोई तरीका है?


1
किसी IntelliJ जावा परियोजना कंकाल के लिए बराबर पता है?
बीजर

मुझे लगता है कि इसका उत्तर ऊपर से स्पष्ट रूप से है ...._ या इसी स्ट्रिंग को अन्य IDE प्लगइन से कॉन्फ़िगर किया गया_: =)
बीजर

जवाबों:


283

जावा प्रोजेक्ट बनाने के लिए: एक नया प्रोजेक्ट डायरेक्टरी बनाएं, उसमें कूदें और निष्पादित करें

gradle init --type java-library

स्रोत फ़ोल्डर और एक ग्रैड बिल्ड फ़ाइल (एक आवरण सहित) का निर्माण किया जाएगा।


8
जैसा कि अन्य उत्तरों में बताया गया है, बिल्ड इनिट
Paul

यह बहुत अच्छा है। @ माइक ग्रहण में, ऐसा करने से पहले जावा परियोजना को धरातल परियोजना में बदलना होगा। फिर, मैं स्रोत फ़ोल्डर को स्वचालित रूप से कैसे सेट कर सकता हूं?
verystrongjoe

एक आयात की चीज। आपके पास init प्लगइन के साथ ग्रेडल संस्करण होना चाहिए। मुझे यह पता लगाने के लिए बहुत समय लगा कि मेरे ग्रेडेल में क्या गलत है।
чрій Мазуревич

6
उपयोगmkdir -p src/{main,test}/{java,resources}
ऑर्टविन एंगर्मिएर

1
gradle wrapper --gradle-version 4.1 init --type java-libraryयदि आप रैपर संस्करण निर्दिष्ट करना चाहते हैं
deFreitas

19

ग्रेडल लोग हमारी समस्याओं को हल करने के लिए अपनी पूरी कोशिश कर रहे हैं; ;-)। उन्होंने हाल ही में (1.9 के बाद से) एक नई सुविधा (इनक्यूबेटिंग) को जोड़ा: "बिल्ड इनिट" प्लगइन।

देखें: निर्माण init प्लगइन प्रलेखन


13

दुर्भाग्य से आप इसे एक कमांड में नहीं कर सकते। बहुत सुविधा के लिए एक खुला मुद्दा है

वर्तमान में आपको इसे हाथ से करना होगा। यदि आपको इसे अक्सर करने की आवश्यकता होती है, तो आप एक कस्टम ग्रेड प्लग इन बना सकते हैं , या बस अपना स्वयं का प्रोजेक्ट कंकाल तैयार कर सकते हैं और आवश्यकता होने पर इसे कॉपी कर सकते हैं।

संपादित करें

ऊपर उल्लिखित जेआईआरए मुद्दा 1 मई, 2013 तक हल हो चुका है, और 1.7-आरसी -1 में तय किया गया है। बिल्ड इनिट प्लगिन पर प्रलेखन उपलब्ध है, हालांकि यह इंगित करता है कि यह सुविधा अभी भी "इनक्यूबेटिंग" जीवनचक्र में है।


12

अंत में सभी समाधान की तुलना करने के बाद, मुझे लगता है कि इससे शुरुआत करें build.gradle फ़ाइल करना सुविधाजनक हो सकता है।

ग्रैडल वितरण में samplesबहुत सारे उदाहरणों के साथ फ़ोल्डर है, और gradle init --type basicकॉमन है अध्याय 47 देखें । बिल्ड इनिट प्लगिन । लेकिन उन सभी को कुछ संपादन की आवश्यकता है।

आप नीचे दिए गए टेम्पलेट का उपयोग कर सकते हैं , फिर चला सकते हैं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"
}

परिणाम नीचे जैसा है।

अवलोकन

इसका उपयोग ग्रहण के लिए किसी भी ग्रेड प्लगइन के बिना किया जा सकता है,
या ग्रहण के लिए (एनाइड) ग्रेडल के साथ , जेट्टी, एंड्रॉइड के लिए ग्रेड एकीकरण के लिए वैकल्पिक विकल्प का उपयोग किया जा सकता है

editbox


1

यदि आप मौजूदा प्रोजेक्ट के लिए एक्लिप्स का उपयोग कर रहे हैं (जिसमें एक build.gradleफ़ाइल है) तो आप बस टाइप कर सकते हैं gradle eclipseजो इस प्रोजेक्ट के लिए सभी एक्लिप्स फ़ाइलों और फ़ोल्डरों का निर्माण करेगा।

यह आपके लिए सभी निर्भरता का ख्याल रखता है और उन्हें ग्रहण में प्रोजेक्ट संसाधन पथ पर भी जोड़ता है।


2
यह स्रोत फ़ोल्डर नहीं बनाता है। यदि वे पहले नहीं बनाए गए थे, तो ग्रहण कॉन्फ़िगरेशन पूर्ण नहीं होगा। फिर भी, बहुत बहुत धन्यवाद, कदम के रूप में जोड़ा ।3
पॉल वेरेस्ट

1

मैं build.gradleजावा, संसाधनों और परीक्षण के लिए सभी स्रोत फ़ोल्डर बनाने के लिए एक groovy विधि का उपयोग करके इसे संभाल सकता हूं । फिर मैंने इसे gradle eclipseटास्क से पहले चलाने के लिए सेट किया ।

eclipseClasspath.doFirst {
    initSourceFolders()
}

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

अब हम केवल एक कमांड के साथ ग्रहण करने के लिए एक नया ग्रेडल जावा ईई प्रोजेक्ट सेटअप कर सकते हैं। मैंने GitHub में यह उदाहरण दिया


-2

मैंने केवल ग्रहण नियोन 1 और ग्रैडल के साथ प्रयास किया:

------------------------------------------------------------
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

यहाँ छवि विवरण दर्ज करें

विंडोज़ 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)

और यह बुरी तरह से विफल रहा जैसा कि आप ग्रहण में देख सकते हैं। लेकिन Intellij में एक बढ़ते बाज की तरह रवाना ... मैं Intellij, और ग्रहण का एक बड़ा प्रशंसक नहीं जानता, लेकिन आम दोस्तों, इसका मतलब यह है कि NO ONE teste Neon.1 उपयोग के मामलों में सबसे सरल के लिए ... एक क्रमिक परियोजना को आयात करने के लिए। यह काफी अच्छा नहीं है। मैं प्रोजेक्टल प्रोजेक्ट्स के लिए Intellij पर स्विच कर रहा हूं:

यहाँ छवि विवरण दर्ज करें


1
प्रश्न किया गया है: कमांड लाइन से जावा ग्रेडल प्रोजेक्ट कैसे बनाएं?
पॉल वेरेस्ट

पॉल इस संदर्भ में सहायक होने के साथ क्या मुद्दा है? यह उसी संदर्भ में है। तो, क्यों नहीं दिखाया गया है कि वर्तमान में इसे आयात करने के साथ ग्रहण का मुद्दा है।
बीजर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.