构建java库
本指南将指导您完成使用Gradle的Build Init插件生成适合其他JVM库和应用程序使用的JVM库的过程。
你要建造什么
您将使用标准布局生成Java库。
你需要什么
大约11分钟
文本编辑器或IDE
Java Development Kit(JDK)版本8或更高版本
Gradle分发版,5.0或更高版本
创建一个库项目
- 创建文件夹
- 进入到此文件夹 用命令行模式进入
执行初始化任务
- 目录结构如下
重新查看所生成的文件
settings.gradle
注释很多 但只有一行配置 分配根目录名称
rootProject.name = 'building-java-libraries'
build.gradle
plugins {
id 'java-library'
}
repositories {
jcenter()
}
dependencies {
api 'org.apache.commons:commons-math3:3.6.1'
implementation 'com.google.guava:guava:26.0-jre'
testImplementation 'junit:junit:4.12'
}
构建脚本添加了java-library插件。 这是java-base插件的扩展,并添加了用于编译Java源代码的其他任务。
文件src / main / java / jvm / library / Library.java如下所示:
package jvm.library;
public class Library {
public boolean someLibraryMethod() {
return true;
}
}
生成的JUnit规范,src / test / java / jvm / library / LibraryTest.java如下所示:
package jvm.library;
import org.junit.Test;
import static org.junit.Assert.*;
public class LibraryTest {
@Test public void testSomeLibraryMethod() {
Library classUnderTest = new Library();
assertTrue("someLibraryMethod should return 'true'", classUnderTest.someLibraryMethod());
}
}
生成的测试类只有一个JUnit 4测试。 测试实例化Library类,调用someLibraryMethod方法,并检查返回的值是否为true。
组装jar
构建项目,运行构建任务
您可以通过打开位于build / reports / tests / test / index.html的HTML输出文件来查看测试报告。
您可以在build / libs目录中找到名为building-java-libraries.jar的新打包的JAR文件。 通过运行以下命令验证存档是否有效:
恭喜,您刚刚完成了创建Java库的第一步! 您现在可以根据自己的项目需求进行自定义。
自定义jar库
您通常希望JAR文件的名称包含库版本。 通过在构建脚本中设置顶级版本属性可以轻松实现这一点,如下所示:
build.gradle
version = '0.1.0'
现在运行jar任务
另一个常见要求是通常通过添加一个或多个属性来自定义清单文件。 让我们通过配置jar任务在清单文件中包含库名和版本。 将以下内容添加到构建脚本的末尾:
build.gradle
version = '0.1.1'
jar {
manifest {
attributes('Implementation-Title': project.name,
'Implementation-Version': project.version)
}
}
要确认这些更改按预期工作,请再次运行jar任务,这次也从JAR解压缩清单文件:
现在查看META-INF / MANIFEST.MF文件的内容,您应该看到以下内容:
添加API文档
java-library插件通过javadoc任务内置了对Java API文档工具的支持。
Build Init插件生成的代码已经对Library.java文件发表了评论。 修改注释以成为javadoc标记。
运行javadoc任务
打开位于build / docs / javadoc / index.html的HTML文件来查看生成的javadoc文件。
到此已经成功构建了一个Java库项目,将其打包为JAR并在单独的应用程序中使用它。通过前面的联系已经
学会了如何:
- 生成Java库
- 调整生成的build.gradle和示例Java文件的结构
- 运行构建并查看测试报告
- 自定义JAR文件的名称及其清单的内容
- 生成API文档。
遇到的错误
构建项目时提示失败,找不到tool.jar库文件。高级系统配置里添加JAVA_HOME,构建成功~