|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你说是sun公司对她研究的透还是微软?针对自己工具开发的.net网页编程性能上肯定会站上风的。这篇教程的次要内容是解说怎样用Gradle编译和打包一个复杂的Java项目。
该Java项目只要一个需求:我们的构建剧本必需创立一个可实行的Jar文件,换句话说,我们必需可以利用命令java-jarjarfile.jar来运转我们的程序。我们来看一下怎样满意这个需求。
创立一个Java项目
我们可使用Java插件(译注:关于Gradle插件的界说,请检察第一篇教程)来创立一个Java项目,为了做到这点,我们必要把上面这段语句到场到build.gradle文件中:
1
applyplugin:java
就是如许,如今我们已创立了一个Java项目。Java插件会在我们的构建中增加一些新的商定(如默许的项目布局),新的义务,和新的属性。
让我们来疾速地看一下默许的项目布局。
Java项目布局
默许的项目布局以下:
- src/main/java目次包括了项目标源代码。
- src/main/resources目次包括了项目标资本(如属性文件)。
- src/test/java目次包括了测试类。
- src/test/resources目次包括了测试资本。一切我们构建天生的文件城市在build目次下被创立,这个目次涵盖了以下的子目次,这些子目次我们会在这篇教程中提到,别的另有一些子目次我们会放在今后解说。
- classes目次包括编译过的.class文件。
- libs目次包括构建天生的jar或war文件。
为构建到场一个主类(mainclass)
让我们创立一个复杂的主类,在这个类中会打印一个“Helloworld”然后System.out出来。这个HelloWorld类的源代码以下:
1
2
3
4
5
6
7
8
packagenet.petrikainulainen.gradle;
publicclassHelloWorld{
publicstaticvoidmain(String[]args){
System.out.println("HelloWorld!");
}
}
HelloWorld类寄存在src/main/java/net/petrikainulainen/gradle目次
这很好,但是,我们还必要编译和打包我们的项目,不是吗?我们先看一下这个Java工程中的义务。
Java工程中的义务
Java插件在我们的构建中到场了良多义务,我们这篇教程触及到的义务以下:
- assemble义务会编译程序中的源代码,并打包天生Jar文件,这个义务不实行单位测试。
- build义务会实行一个完全的项目构建。
- clean义务会删除构建目次。
- compileJava义务会编译程序中的源代码。
我们还能够实行以下命令失掉一个可运转义务及其形貌的完全列表
1
gradletasks
这是一个很好的体例,不必要浏览构建剧本,就可以对你的项目举行大抵的扫瞄,假如我们在项目根目次下运转这个命令,我们能够看到以下输入:
<p>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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
>gradletasks
:tasks
------------------------------------------------------------
Alltasksrunnablefromrootproject
------------------------------------------------------------
Buildtasks
-----------
assemble-Assemblestheoutputsofthisproject.
build-Assemblesandteststhisproject.
buildDependents-Assemblesandteststhisprojectandallprojectsthatdependonit.
buildNeeded-Assemblesandteststhisprojectandallprojectsitdependson.
classes-Assemblesclassesmain.
clean-Deletesthebuilddirectory.
jar-Assemblesajararchivecontainingthemainclasses.
testClasses-Assemblesclassestest.
BuildSetuptasks
-----------------
init-InitializesanewGradlebuild.[incubating]
wrapper-GeneratesGradlewrapperfiles.[incubating]
Documentationtasks
-------------------
javadoc-GeneratesJavadocAPIdocumentationforthemainsourcecode.
Helptasks
----------
dependencies-Displaysalldependenciesdeclaredinrootprojectfirst-java-project.
dependencyInsight-Displaystheinsightintoaspecificdependencyinrootprojectfirst-java-project.
help-Displaysahelpmessage
projects-Displaysthesub-projectsofrootprojectfirst-java-project.
properties-Displaysthepropertiesofrootprojectfirst-java-project.
tasks-Displaysthetasksrunnablefromrootprojectfirst-java-project.
Verificationtasks
------------------
<p> |
|