web-dev-qa-db-ja.com

Java gradleプロジェクトの作成方法

コマンドラインからJava Gradleプロジェクトを作成するには?

次の図のように 標準Mavenフォルダーレイアウト を作成する必要があります。

Java Gradle created with Eclipse plugin

更新:

.1。 http://www.gradle.org/docs/current/userguide/tutorial_Java_projects.html 2行のファイルbuild.gradleを作成する必要があります

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つのコマンドでそれを行う方法はありますか?

112
Paul Verest

Javaプロジェクトを作成するには:新しいプロジェクトディレクトリを作成し、そこにジャンプして実行します

gradle init --type Java-library

ソースフォルダーとGradleビルドファイル(ラッパーを含む)がビルドされます。

272
Mike

Gradle guysは、すべての(y)問題を解決するために最善を尽くしています;-)。彼らは最近(1.9以降)新しい機能(インキュベーション)を追加しました: "build init"プラグイン。

参照: build init plugin documentation

18
roomsg

最後に、すべてのソリューションを比較した後、build.gradleファイルから開始するのが便利だと思います。

Gradleディストリビューションにはsamplesフォルダーがあり、多くの例があります。gradle init --type basicがあり、 第47章Build Initプラグイン を参照してください。ただし、すべて編集が必要です。

以下でも template を使用して、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

Eclipse用のGradleプラグインがなくても使用できますが、
または (Enide)Gradle for Eclipse、Jetty、AndroidGradle Integration for Eclipse の代替

editbox

12
Paul Verest

残念ながら、1つのコマンドでそれを行うことはできません。開いている まさに機能の問題 があります。

現在、手作業で行う必要があります。頻繁に行う必要がある場合は、 カスタムgradleプラグイン を作成するか、独自のプロジェクトスケルトンを準備して必要に応じてコピーします。

編集

上記のJIRAの問題は2013年5月1日に解決され、1.7-rc-1で修正されました。 Build Init Plugin のドキュメントが利用可能ですが、この機能がまだ「インキュベーション」ライフサイクルにあることを示しています。

12
rodion

Eclipseを使用している場合、既存のプロジェクト(build.gradleファイルがある)に対してgradle Eclipseと入力するだけで、このプロジェクトのすべてのEclipseファイルとフォルダーが作成されます。

すべての依存関係を処理し、Eclipseのプロジェクトリソースパスにも追加します。

1
Pelpotronic

build.gradleのgroovyメソッドを使用して処理し、Java、リソース、およびテスト用のすべてのソースフォルダーを作成できます。次に、gradle Eclipseタスクの前に実行するように設定します。

eclipseClasspath.doFirst {
    initSourceFolders()
}

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

これで、1つのコマンドだけで新しいgradle Java EEプロジェクトをEclipseにセットアップできます。この例を GitHub に配置しました

1
Edy Segura