• 项目自动化建构工具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就不用解释了。

  • 相关阅读:
    使用 kill 命令杀死 java进程,你用对了吗?
    脚本 启动/停止 jar包服务
    Zipkin和微服务链路跟踪
    nacos初探--作为配置中心
    第一次有人把“分布式事务”讲的这么简单明了
    SquishIt引起的HTTP Error 500.0
    imagesLoaded – 检测网页中的图片是否加载
    25个精美的创意机构和设计工作室网站案例
    使用 FocusPoint.js 实现图片的响应式裁剪
    设计师收藏的20款英文手写字体【免费下载】
  • 原文地址:https://www.cnblogs.com/liyong0610/p/6241220.html
Copyright © 2020-2023  润新知