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


120

コマンドラインから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() }
}

.3。次に実行しますgradle eclipse(または構成されている他のIDEプラグインに対応する文字列)

それで、1つのコマンドでそれを行う方法はありますか?


1
IntelliJ Javaプロジェクトのスケルトンに相当するものを知っている人はいますか?
Beezer

私は答えが明白に上にあると思います......または対応する他のIDEプラグインに対応する文字列が設定されています_:=)
Beezer

回答:


283

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

gradle init --type java-library

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


8
他の回答で述べたように、ビルド初期化プラグインに関するドキュメントはここにあります: gradle.org/docs/current/userguide/build_init_plugin.html
Paul

これはとてもいいです。@Mike日食では、これを行う前に、JavaプロジェクトをGradleプロジェクトに変換する必要があります。次に、ソースフォルダを自動的に設定するにはどうすればよいですか?
verystrongjoe

重要なことが1つあります。initプラグインを含むGradleバージョンが必要です。私のグラドルの何が悪いのかを理解するのに多くの時間を費やしました。
ЮрійМазуревич

6
使用mkdir -p src/{main,test}/{java,resources}
Ortwin Angermeier

1
gradle wrapper --gradle-version 4.1 init --type java-libraryラッパーバージョンを指定する場合
deFreitas


13

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

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

編集

上記のJIRAの問題は2013年5月1日の時点で解決されており、1.7-rc-1で修正されています。Build Initプラグインに関するドキュメントは入手可能ですが、この機能はまだ「インキュベーティング」ライフサイクルであることを示しています。


12

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

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

以下のテンプレートも使用して、実行できます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用の(Enide)Gradle、Jetty、Gradle Integration for EclipseのAndroid代替品とともに使用できます。

編集ボックス


1

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

すべての依存関係が自動的に処理され、Eclipseのプロジェクトリソースパスにも追加されます。


2
これはソースフォルダを作成しません。以前に作成されていない場合、Eclipse構成は完全ではありません。それにもかかわらず、ステップ.3として追加され、どうもありがとう
Paul Verest 14

1

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

eclipseClasspath.doFirst {
    initSourceFolders()
}

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

これで、新しいGradle Java EEプロジェクトを設定して、1つのコマンドだけでEclipseを実行できるようになりました。この例をGitHubに置きました


-2

私は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とEclipseの大ファンですが、一般的な男です。それは十分ではありません。私はgradleプロジェクトをIntellijに切り替えています:

ここに画像の説明を入力してください


1
質問:コマンドラインからJava Gradleプロジェクトを作成する方法は?
Paul Verest 16

この文脈でパウロの助けとなることの問題は何ですか?同じコンテキストです。では、Eclipseのインポートに問題があることを示してください。
Beezer
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.