码农笔记 码农笔记
首页
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

itlaonong

野生Java程序员
首页
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 历史文章
itlaonong
2017-11-26

使用gradle给旧项目打包

# 下载 gradle 并配置环境变量

完成后在命令行输入 gradle -v,查看是否配置正确。

# 建立配置文件

在项目根目录新建名为 build.gradle 的配置文件。

文件中写入如下配置:

apply plugin: 'war'

// 设置 JDK 版本
sourceCompatibility = 1.6
// 设置 WebApp 根目录
webAppDirName = 'WebRoot'
// 设置 Java 源码所在目录
sourceSets {
    main {
        java{
            // 多个目录 srcDirs 单个用 srcDir ''
            srcDirs = ['soo','src/main/java','coresrc/main/java']
        }
        resources{
            // 多个目录 srcDirs 单个用 srcDir ''
            srcDirs = ['src/main/resources','coresrc/main/resources']
        }
    }
}

// 设置 maven 库地址
repositories {
    maven {url "http://maven.aliyun.com/nexus/content/groups/public/"}
    mavenLocal()
}

dependencies {
    tasks.withType(JavaCompile) {
        options.encoding = "GBK"
    }
    // 本地依赖
    compileOnly files('F:/lib/weblogic.jar','F:/lib/ojdbc14.jar')
    // 有网络是用maven
    // providedCompile 'javax.servlet:servlet-api:2.5' // 编译期
    compile fileTree(dir: 'WebRoot/WEB-INF/lib', include: ['*.jar'])
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

因为我的项目有多个 java 源文件目录和资源目录所以配置的是 srcDirs。如果只有一个目录,配置 srcDir 即可。至于每个配置项什么含义就需要自己找资料了,基本实现打包功能不需要很多的配置,像 srcDir 就是配置一下 java 源代码位置就好了。

# 编译打包

在项目根目录打开命令行窗口,输入指令 gradle clean build。如果成功会在结束时出现 BUILD   SUCCESSFUL。如果没有请查看报错信息,针对性的修改 build.gradle 里面的配置。

打包完成的 war 包就在 ./build/libs/目录下。

# 扩展

上面说的都是自己用的,那么要是团队都来使用 gradle,该如何统一。

假如现在项目组的同事也想和我一样使用 gradle 打包,直接的做法就是我将 build.gradle 提交 svn,大家更新下来,安装 gradle 后,更改自己的本地依赖位置(其实既然使用了 gradle,依赖可以都放到 maven 私有仓库,这样大家可以共用一套配置)。运行 gradle clean build 即可打包。

按照上面的做法,其实 gradle 和 maven 除了配置文件不同,基本没啥区别了。其实 gradle 提供了另一套便于统一协作的机制-gradlew(后来发现 maven 好像也有类似的功能,是我肤浅了)。使用 gradlew 需要在项目根目录执行 gradle init 命令。会生成 wapper 的配置文件。可以将这些文件一同提交 svn,其他同事更新后无需安装 gradle,直接执行 gradlew clean build。gradle 会查找本地的 gradle 环境,没有的话会根据 wapper 配置去互联网下载对应版本的 gradle 进行编译打包。省去自行下载配置环境,还可以保持大家 gradle 版本的统一。

当然了,国内特殊原因,以及每个开发者所处的网络环境不同,下载速度也会受影响。上面的做法不一定能行的通,如果条件不允许,还是自己手动下载 gradle 并进行配置。

#gradle
上次更新: 2022/10/09, 14:18:05
最近更新
01
1-1 导学
10-09
02
PVE 安装黑群晖笔记
06-13
03
Video测试
06-02
更多文章>
Theme by Vdoing | Copyright © 2016-2022 itlaonong
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式