使用gradle构造Java工程

简介: 大家学习一个新工具,第一步一般是在自己的机器上手动安装其。 打开工作空间,新建目录结构如下: └── src └── main └── java └── hello  之所以要这样,是因为gradle的Java插件默认扫描这样的目录来查找Java代码。

大家学习一个新工具,第一步一般是在自己的机器上手动安装其。

打开工作空间,新建目录结构如下:

└── src
    └── main
        └── java
            └── hello

 之所以要这样,是因为gradle的Java插件默认扫描这样的目录来查找Java代码。

 

hello是我们的包,在里面新建Java类。比如:

package hello;
import org.joda.time.LocalTime;
public class HelloWorld {
  public static void main(String[] args) {
    LocalTime currentTime = new LocalTime();
    System.out.println(currentTime);
    Greeter greeter = new Greeter();
    System.out.println(greeter.sayHello());
  }
}

 和

package hello;

public class Greeter {
  public String sayHello() {
    return "Hello world!";
  }
}

 

 

接下来新建gradle配置文件build.gradle:

apply plugin: 'java'

repositories {
    mavenCentral()
}

sourceCompatibility = 1.8
targetCompatibility = 1.8

dependencies {
    compile "joda-time:joda-time:2.2"
}

jar {
    baseName = 'gs-gradle'
    version =  '0.1.0'
}

 第一行申明使用Java插件。因为gradle不是只支持Java,其他很多语言也可以通过gradle构建。所以gradle没有默认使用Java插件。

后面申明使用maven的库,后面是代码版本,然后是依赖申明,这里为了演示,使用了joda。后面是构建为jar包的配置,构建后jar的名称就是gs-gradle-0.1.0.jar。

 

现在在根目录(也就是build.gradle的目录)执行

gradle build

 就会看到结果。

然后我们继续。

打开buidl.gradle文件,在最下面增加一个任务:

task wrapper(type: Wrapper) {
    gradleVersion = '2.3'
}

 保存后执行

gradle wrapper

 你会发现生成了不少新东西,比如gradlew。这些东西类似于绿色版gradle下载器。所以如果是团队合作开发,只要大家都从版本控制服务器下载了你那个buidl.gradle,大家执行的结果就一样。

然后我们执行

gradlew build

 它会开始下载相应版本的gradle(版本就是上面task wrapper指定的),然后自动构建。

 

这个时候,如果你兴高采烈的跑去执行

gradlew run

 ,会发现不可以。

为了让jar包能执行,我们继续修改build.gralde:

apply plugin: 'application'

mainClassName = 'hello.HelloWorld'

 应用了application插件,并指明了主类。

然后执行gradle run,就可以正常输出了。

目录
相关文章
|
6月前
|
JavaScript Java 测试技术
基于Java的小工程预算的设计与实现(源码+lw+部署文档+讲解等)
基于Java的小工程预算的设计与实现(源码+lw+部署文档+讲解等)
50 0
|
3月前
|
Java Android开发
如何使用IDEA创建一个简单的java工程?
这篇文章提供了使用IntelliJ IDEA创建简单Java工程的步骤,包括在`src`目录下建立两个特定的包。
如何使用IDEA创建一个简单的java工程?
|
5月前
|
Java API 项目管理
Java一分钟之-Gradle插件开发:自定义构建逻辑
【6月更文挑战第5天】Gradle插件开发详解:从入门到发布。文章介绍如何创建自定义插件,强调依赖管理、任务命名和配置阶段的理解。示例代码展示插件实现及避免常见问题的方法。最后,讨论插件的发布与共享,助你提升构建效率并贡献于开发者社区。动手实践,打造强大Gradle插件!
126 3
|
4月前
|
设计模式 Java 测试技术
Java后端开发的最佳工程实践与规范
Java后端开发的最佳工程实践与规范
|
5月前
|
Java 编译器
Java中4种代码块:普通代码块,静态代码块,同步代码块,构造代码块
Java中4种代码块:普通代码块,静态代码块,同步代码块,构造代码块
238 0
|
6月前
|
缓存 IDE Java
Java一分钟之-Gradle:构建自动化工具
【5月更文挑战第16天】本文介绍了Gradle,一个基于Groovy的灵活构建工具,强调其优于Maven的灵活性和性能。文中通过示例展示了基本的`build.gradle`文件结构,并讨论了常见问题:版本冲突、缓存问题和构建速度慢,提供了相应的解决策略。此外,还提醒开发者注意插件ID、语法错误和源代码目录等易错点。掌握这些知识能提升开发效率,使构建过程更顺畅。
117 2
|
6月前
|
Java 编译器
Java构造方法重载的深入探索
Java构造方法重载的深入探索
65 0
|
6月前
|
Java 编译器
【Java探索之旅】super 子类构造 掌握
【Java探索之旅】super 子类构造 掌握
40 0
|
6月前
|
JavaScript Java 测试技术
基于Java的高校物业工程报修系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的高校物业工程报修系统的设计与实现(源码+lw+部署文档+讲解等)
43 3
|
6月前
|
JavaScript Java 测试技术
基于Java的冀中工程技师校园网站的设计与实现(源码+lw+部署文档+讲解等)
基于Java的冀中工程技师校园网站的设计与实现(源码+lw+部署文档+讲解等)
42 2
下一篇
无影云桌面