几种项目构建工具使用

1. Maven

maven 官网

maven 官方仓库

maven 在 java web 开发中是一个非常强大的构建工具, 配合 maven 庞大的第三方仓库解救了无数程序员从 IDE 导入 jar 包这种极为原始的包依赖管理方式, 由于很久没有使用 maven 加上不怎么熟悉, 我们就将这部分跳过, 以后会更新。

2. Gradle

Building Java Applications

gradle 以 groovy 语言开发, 语法相对于 maven 更为简洁, 兼容 maven 和 ant, gradle 可以使用 maven 仓库, 推荐开发者使用 gradle 而不是 maven 来管理项目依赖和构建项目。

示例:一份 gradle 项目的 构建是这样的。

使用 JetBrain 的 IntelliJ IDEA

gradle 下载使用教程

新建项目 -> Gradle -> Java, build.gradle 如下:

group 'waterlaw.top'
version '1.0-SNAPSHOT'

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
    mavenLocal()
    mavenCentral()
    maven {
        url "https://oss.sonatype.org/content/repositories/snapshots"
    }
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compile group: 'edu.cmu.sphinx', name: 'sphinx4-core', version:'5prealpha-SNAPSHOT'
    compile group: 'edu.cmu.sphinx', name: 'sphinx4-data', version:'5prealpha-SNAPSHOT'
}

其中 group 是组织/公司名称,version 为软件版本, sourceCompatibility 是 jdk 版本, repositories 是 maven 仓库地址, dependencies 是项目依赖, testCompile 是测试环境依赖, compile 是运行时环境依赖。

如果想打包项目为 jar 文件, 可以增加几个 task, clearPj 是清除项目, copyJar 是拷贝 jar 文件到指定目录, release 包含 build 和 copyJar 这两个 task.

apply plugin: 'application'

mainClassName = '' // 包含主函数的 class 文件路径, 如 com.voice.Start

jar {
    String someString = ''
    configurations.runtime.each {someString = someString + " lib/"+it.name
        print("======"+it.name)
    }
    manifest {
        attributes 'Main-Class': 'com.voice.Start'
        attributes 'Class-Path': someString
    }
}

task clearPj(type:Delete){
    delete 'build','target'
}
task copyJar(type:Copy){
    from configurations.runtime
    into('build/libs/lib')
    print("======copyJar")
}
task release(type: Copy,dependsOn: [build,copyJar]) {
    print("======release")
}

tasks.withType(JavaCompile) {
    options.encoding = "UTF-8" // 防止中文乱码
}

运行 gradle release 即可构建项目, 在 build/libs 下, 发现一个 jar 文件和 lib 文件夹, lib 文件包含项目依赖的 jar 文件。

可以运行 java -jar [jar 文件], 发布的时候只需发布 libs 目录即可。

3. Cmake

Cmake 官网

先给个教程地址, Cmake 入门

在 windows 环境下, 通过 Cmake 生成的项目需要 Microsoft Visual Studio 来编译。

我在 Github 建了一个仓库 magic-cmake, 请配合 Cmake 入门教程一起食用。

发表评论

评论内容
 

评论列表, 共 0 条评论