Gradle构建Java项目

news/2024/5/20 5:26:12 标签: gradle

1. 添加Java插件

使用Gradle构建文件来构建一个Java项目。首先,我们必须向构建脚本中添加Java插件,因为它提供了编译Java源代码,运行单元测试,创建Javadoc和创建JAR文件的任务。 在build.gradle文件中使用以下代码行。

apply plugin: 'java'

2. Java默认的项目布局

每当添加一个插件到构建中,它会假设一个特定的Java项目设置(类似于Maven)。
- src/main/java 目录包含Java源代码;
- src/test/java 目录包含测试用的源代码;

SourceSets可用于指定不同的项目结构。例如,指定源代码存储在src文件夹中,而不是在src/main/java中。如:

apply plugin: 'java'
sourceSets {
   main {
      java {
         srcDir 'src'
      }
   }

   test {
      java {
         srcDir 'test'
      }
   }
}

3. 启动构建

  在命令行键入以下命令启动构建:

$ gradle build

4. 指定Java版本

通常,Java项目要有一个版本和一个目标JRE,在其上编译它。versionsourceCompatibility 属性可以在 build.gradle 文件中设置。

version = 0.1.1
sourceCompatibility = 1.8

如果这是一个可执行的Java应用程序,MANIFEST.MF 文件必须要指定具有 main 方法的类。

apply plugin: 'java'

jar {
    manifest{
        attributes 'Main-Class': net.mrliuli.main.App'
    }
}

5. 一个可执行Jar项目示例

5.1

E:\gradleStudy\src\main\java\net\mrliuli 目录中:

package net.mrliuli;

/**
* Hello world!
*
*/

public class App {
   public static void main( String[] args ){
      System.out.println( "Hello World, Gradle Build Work! " );
   }
}

E:\gradleStudy\src\test\java\net\mrliuli 目录中:

package net.mrliuli;

/**
* Hello world!
*
*/

public class AppTest{
   public static void main( String[] args ){
      System.out.println( "Hello World!" );
   }
}

5.2

E:\gradleStudy 目录中文件 build.gradle

apply plugin: 'java'

repositories {
   jcenter()
}

dependencies {
   compile 'org.slf4j:slf4j-api:1.7.12'
   testCompile 'junit:junit:4.12'
}

jar {
   manifest {
      attributes 'Main-Class': 'net.mrliuli.App'
   }
}

5.3 启动构建

  在命令行终端执行:

# /e/gradleStudy
$ gradle build
:compileJava
:processResources NO-SOURCE
:classes
:jar
:assemble
:compileTestJava
:processTestResources NO-SOURCE
:testClasses
:test
:check
:build

BUILD SUCCESSFUL in 2s
4 actionable tasks: 4 executed

5.4 输出build

  构建成功会生成一个E:\gradleStudy\build\libs\gradleStudy.jar文件,在E:\gradleStudy\build\libs\下执行

$ java -jar gradleStudy.jar
Hello World, Gradle Build Work!

http://www.niftyadmin.cn/n/823610.html

相关文章

linux定时备份mysql并同步到其它服务器

数据在任何一家公司里面都是最核心的资产,定期备份则是为了保证数据库出现问题的时候能够及时回滚到最近的备份点,将损失缩小到最小 这篇文章将会两部分来说明:1、mysql的定期备份;2、同步到其它服务器 mysql 备份 备份还原某个…

udev详解

udev详解 我们知道,在对待设备文件这块,Linux改变了几次策略。在Linux早期,设备文件仅仅是是一些带有适当的属性集的普通文件,它由mknod命令创建,文件存放在/dev目录下。后来,采用了devfs, 一个基于内核的…

Gradle多项目构建

1. 多项目构建的结构 在项目的根目录或主目录中都有一个settings.gradle文件。根目录或主目录都有一个build.gradle文件。具有自己的*.gradle构建文件的子目录(某些多项目构建可能会省略子项目构建脚本)。 1.1 列出构建文件中的所有项目 $ gradle -q …

技能UP:SAP CO掌上配置手册

No.配置对象事务代码路径1Enterprise Structure and General Controlling configration Maintain EC-PCA : Controll Area SettingOKE5 Create Dummy PCAKE59 Activate PCA1KEF Maintain PCA plan version IMG-〉CO-〉PCA -〉Planning -〉Basic Setting for Planning -〉P…

python3爬取1024图片

这两年python特别火,火到博客园现在也是隔三差五的出现一些python的文章。各种开源软件、各种爬虫算法纷纷开路,作为互联网行业的IT狗自然看的我也是心痒痒,于是趁着这个雾霾横行的周末瞅了两眼,作为一名老司机觉得还是应该以练带…

atomic_t相关操作

所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它的最小的执行单位,不可能有比它更小的执行单位,因此这里的原子实际是使用了物理学里的物质微粒的概念。原子操作需要硬件的支持&#xf…

四则运算第二次冲刺

这一次冲刺的主要内容是完善我们的界面,是我们的APP界面更规划更标准一点, 然后还要添加一些新算法。 距离客户的需求已经一半了。 代码正在完善中,稍后上传。。。转载于:https://www.cnblogs.com/iliuh/p/5019593.html

springboot(六):如何优雅的使用mybatis

这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis。到网上找了一下关于spring boot和mybatis组合的相关资料,各种各样的形式都有,…