如何创buildJava gradle项目
如何从命令行创buildJava Gradle项目?
它应该创build标准的Maven文件夹布局,如下图所示。
更新:
0.1。 从http://www.gradle.org/docs/current/userguide/tutorial_java_projects.html我需要创build2行文件build.gradle
apply plugin: 'java' apply plugin: 'eclipse'
0.2。 添加到下面的build.gradle
任务,比执行gradle create-dirs
task "create-dirs" << { sourceSets*.java.srcDirs*.each { it.mkdirs() } sourceSets*.resources.srcDirs*.each { it.mkdirs() } }
0.3。 然后运行gradle eclipse
(或相应的string到其他IDE插件configuration)
那么有办法用一个命令呢?
要创build一个Java项目:创build一个新的项目目录,跳到它并执行
gradle init --type java-library
源文件夹和Gradle构build文件(包括包装)将被构build。
gradle家伙正在尽全力解决所有(y)我们的问题;-)。 他们最近(自1.9)添加了一个新的function(孵化):“build立初始化”插件
请参阅: http : //www.gradle.org/docs/current/userguide/build_init_plugin.html
不幸的是,你不能在一个命令。 这个function有一个公开的问题 。
目前您必须手动完成。 如果你经常需要这样做,你可以创build一个定制的gradle插件 ,或者只准备你自己的项目框架,并在需要的时候复制它。
编辑
上面提到的JIRA问题已经在2013年5月1日解决了,并且是1.7-rc-1。 Build Init Plugin的文档是可用的,虽然它表明这个function仍处于“孵化”生命周期。
最后比较所有的解决scheme,我认为从build.gradle
文件开始可以方便。
Gradle发行版包含很多示例的samples
文件夹,并且有gradle init --type basic
命令,参见第47章 gradle init --type basic
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插件的情况下使用,
或者使用(Enide)Gradle for Eclipse,Jetty,Android替代Eclipse的Gradle Integration
如果你正在使用Eclipse,对于一个现有的项目(它有一个build.gradle
文件),你可以简单地inputgradle eclipse
,它将为这个项目创build所有的Eclipse文件和文件夹。
它负责处理所有依赖关系,并将它们添加到Eclipse中的项目资源path中。
我可以在build.gradle
使用groovy方法来处理它,以创build所有源文件夹的Java,资源和testing。 然后我将它设置为在gradle eclipse
任务之前运行。
eclipseClasspath.doFirst { initSourceFolders() } def initSourceFolders() { sourceSets*.java.srcDirs*.each { it.mkdirs() } sourceSets*.resources.srcDirs*.each { it.mkdirs() } }
现在我们只需要一个命令就可以build立一个新的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,也是日食的狂热粉丝,但是普通的帅哥,这意味着没有一个teste Neon.1是最简单的用例…导入一个gradle项目。 这不够好。 我正在切换到Intellij for gradle项目:
- Gradle Warning:缺lessgroovy返回语句
- 当构buildandroid -gradle项目时crashlytics开发人员工具错误
- 未find名称为“default”的Android Studio Gradleconfiguration
- build议停止Gradle构build的方法
- Android Gradle的Apache HttpClient不存在?
- gradle中这些任务定义语法有什么区别?
- Gradle执行Java类(不修改build.gradle)
- Android Studio – 如何ZipAlign apk
- 如何使Android Studio下载依赖关系源代码和javadoc?