项目自动化建构工具gradle 入门3——生一个exe的helloWorld

前两次呢,我们能够用一个外部的jar 来实现输出helloWorld。但问题是我每次都要用java -jar 来执行,这样我们自己玩还可以,让用户玩就不好了。所以我们生成一个exe给他们吧。这次我们仍然打印一个helloWorld,照例直接上代码,

1、进入目录D:workgradleexe,新建文件build.gradle,键入内容:

 1 apply plugin: 'application' // 引入java插件,
 2 
 3 repositories {    // 从哪里找jar包
 4     flatDir {    
 5         // 先看下build.gradle文件所在目录下的 libs目录中有没有
 6         dirs 'libs'
 7     }
 8     maven {        
 9         //如果目录中木有,则找url对应的maven仓库,下面是阿里的maven仓库,速度杠杆的。
10         url "http://maven.aliyun.com/nexus/content/groups/public/"
11     }
12     //mavenCentral()    //如果都木有,则取maven的官方仓库吧,只是这个速度要看人品
13 }
14 dependencies {    
15     // 我们代码里需要用到的jar,可以引入不用,但是用了必须引入。
16     compile 'log4j:log4j:1.2.17'    //编译时需要的jar
17     testCompile 'junit:junit:4.11'    //编译测试文件所需要的
18 }
19 mainClassName = 'log.Hello'

2、进入目录D:workgradleexesrcmainjavalog,新建文件Hello.java,键入内容:

1 package log;
2 import org.apache.log4j.Logger;
3 public class Hello{
4     private static Logger logger = Logger.getLogger(Hello.class);  
5     public static void main(String [] args){
6         logger.info("hello,world. welcome to gradle");  
7     }
8 }

3、进入目录D:workgradleexesrcmain esources,新建文件log4j.properties,键入内容:

 1  ### 设置###
 2 log4j.rootLogger = debug,stdout
 3 
 4 ### 输出信息到控制抬 ###
 5 log4j.appender.stdout = org.apache.log4j.ConsoleAppender
 6 log4j.appender.stdout.Target = System.out
 7 log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
 8 log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
 9 
10 ### 输出DEBUG 级别以上的日志到=E://logs/error.log ###
11 log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
12 log4j.appender.D.File = d://logs/log.log
13 log4j.appender.D.Append = true
14 log4j.appender.D.Threshold = DEBUG 
15 log4j.appender.D.layout = org.apache.log4j.PatternLayout
16 log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
17 
18 ### 输出ERROR 级别以上的日志到=E://logs/error.log ###
19 log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
20 log4j.appender.E.File =d://logs/error.log 
21 log4j.appender.E.Append = true
22 log4j.appender.E.Threshold = ERROR 
23 log4j.appender.E.layout = org.apache.log4j.PatternLayout
24 log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
log4j.properties

4、进入目录D:workgradleexe,cmd下键入指令:gradle assemble

5、进入目录D:workgradleexeuilddistributions,我们看到有了文件exe.zip 和exe.tar。这就是需要发布的文档了。

我们尝试把exe.zip解压看看,是不是有目录bin、lib。我们进入bin目录,使用cmd执行该exe.bat 是不是有了执行结果。

ok,到此我们就完成了所有的代码。


下面照例解释为啥这么写:

步骤1:build.gradle中第一行我们使用的不是java了,而变成了 application。这个插件干的活就是生成可执行的文档并打包。

在最后一行,我们使用 mainClassName 指定哪个类是可执行代码的入口类。

  记住,这两个都是必须的,少了可是会报错的。

其他的部分和<项目自动化建构工具gradle 入门2——log4j输出helloWorld> 中的解释是一样的。

步骤2,3,4就不用解释了。

原文地址:https://www.cnblogs.com/liyong0610/p/6241220.html