zoukankan      html  css  js  c++  java
  • Gradle(二) —— 运行自己的应用

    Gradle(二) —— 运行自己的应用


    ### 1. 综述

    完成简单的 Hello World 之后,怎么运行我们的程序呢,有三种方法:

    1. 直接用 IDE,右键 -> run 'Main.main'
    2. 在 gradle.build 中加入 application plugin,进行一些配置,然后在命令行运行 gradle run
    3. 在 gradle.build 中设置 jar task,进行一些配置,然后在命令行运行 java -jar myapplication.jar

    ### 2. 用 IDE 操作方法自然不用赘述,可以顺利执行成功。那么执行时发生了什么呢,答案是 **IDE自动在项目文件夹里生成了一个 build 文件夹,其中是以包名为结构的文件层次,最后整个build文件夹仅有一个文件 buildcommycompanymain.class**,在所有的执行方法里,此种方法对项目文件夹的改变最小。
    ### 3. application plugin 在 gradle.build 加入
    apply plugin 'application'
    

    application plugin 会为项目增加若干个task我们需要用到的是 application/run,运行 run 之前,还要配置项目的主类,让 run 能找到它。

    gradle.build

    mainClassName = 'com.mycompany.Main'
    

    然后在命令行运行 run

    gradle run
    

    即可。

    3.1 做了什么

    gradle run 同样生成了 build 文件夹,也包含 buildcommycompanymain.class,同时还加入了其他一些文件。

    4. jar task

    在 gradle.build 中加入 jar task

    jar {
    	manifest.attributes 'Main-Class': 'com.mycompany.Main'
    	from configuration.compile.collect { zipTree it}
    }
    

    上述代码的作用:

    语句 作用 不加会出现的错误
    manifest.attributes 'Main-Class': 'com.mycompany.Main' 打包成的 jar 包里的 MANIFEST.MF 文件里加入 Main-Class: cn.edu.tju.Main 一行 运行 jar 包找不到主类
    from configuration.compile.collect { zipTree it} 将引用的包打进 jar 包 Class not found,因为引用了却找不到

    之后执行

    gradle build
    

    在生成的 build 文件夹内会有 buildlibs est-1.0-SNAPSHOT.jar,运行 jar 包即可,在 libs 文件夹中

    java -jar test-1.0-SNAPSHOT.jar
    

    即可成功运行。

    4.1 做了什么

    gradle build 命令构建l了这个项目,生成了 build 文件夹,其中不但含有 jar 包,还有 tarzip.bat等,也有 .class 文件。它生成的文件最多,包含了上述两种方法生成的文件。

    5. 其他

    gradle clean
    

    命令将会清理 gradle build 的结果,即删除 build 文件夹,每一次 build 前最好都 clean 一下。

  • 相关阅读:
    jetty服务器
    好久不用的正则表达式
    mysql技术调优资料整理
    .net互转java 转行必备
    docker学习资料整理(持续更新中..)
    tcpdump来抓取执行的sql语句
    DDoS deflate
    Linux网络相关查询脚本
    linux下无法删除文件的原因
    linux使用FIO测试磁盘的iops 【转载】
  • 原文地址:https://www.cnblogs.com/yongheng20/p/6161160.html
Copyright © 2011-2022 走看看