博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在IDEA中使用gradle配置打可执行jar包[可执行jar与其所依赖的jar分离]
阅读量:6091 次
发布时间:2019-06-20

本文共 3539 字,大约阅读时间需要 11 分钟。

 

下面是我的项目的build.gradle文件的所有内容,注意高亮部分是关键:

group 'com.xbs'version '1.0-SNAPSHOT'apply plugin: 'java'apply plugin: 'idea'sourceCompatibility = 1.8ext {    profile = System.getProperty("env") ?: "dev"    println "[current profile]:" + profile}repositories {    mavenCentral()}dependencies {    compile group: 'org.postgresql', name: 'postgresql', version: '9.4-1201-jdbc41'    mybatisGenerator 'org.mybatis.generator:mybatis-generator-core:1.3.5'    mybatisGenerator 'mysql:mysql-connector-java:5.1.32'    mybatisGenerator 'tk.mybatis:mapper:3.3.9'    compile group: 'joda-time', name: 'joda-time', version:'2.5'    compile group: 'org.apache.commons', name: 'commons-lang3', version:'3.3.2'    compile group: 'org.apache.commons', name: 'commons-io', version:'1.3.2'    compile group: 'commons-net', name: 'commons-net', version:'3.3'    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version:'2.4.2'    compile group: 'org.apache.httpcomponents', name: 'httpclient', version:'4.3.5'    compile group: 'org.slf4j', name: 'slf4j-log4j12', version:'1.6.4'    compile group: 'org.mybatis', name: 'mybatis', version:'3.2.8'    compile group: 'org.mybatis', name: 'mybatis-spring', version:'1.2.2'    compile group: 'com.github.miemiedev', name: 'mybatis-paginator', version:'1.2.15'    compile group: 'com.github.pagehelper', name: 'pagehelper', version:'3.4.2'    compile group: 'mysql', name: 'mysql-connector-java', version:'5.1.32'    compile group: 'com.alibaba', name: 'druid', version:'1.0.9'    compile group: 'org.springframework', name: 'spring-context', version:'4.1.3.RELEASE'    compile group: 'org.springframework', name: 'spring-beans', version:'4.1.3.RELEASE'    compile group: 'org.springframework', name: 'spring-webmvc', version:'4.1.3.RELEASE'    compile group: 'org.springframework', name: 'spring-jdbc', version:'4.1.3.RELEASE'    compile group: 'org.springframework', name: 'spring-aspects', version:'4.1.3.RELEASE'    compile group: 'jstl', name: 'jstl', version:'1.2'    compile group: 'commons-fileupload', name: 'commons-fileupload', version:'1.3.1'    compile group: 'redis.clients', name: 'jedis', version:'2.7.2'    compile group: 'org.apache.solr', name: 'solr-solrj', version:'4.10.3'    compile group: 'com.alibaba', name: 'fastjson', version:'1.2.4'    compile group: 'org.springframework.integration', name: 'spring-integration-kafka', version:'1.3.0.RELEASE'    compile group: 'org.springframework.kafka', name: 'spring-kafka', version:'1.1.3.RELEASE'    compile group: 'org.apache.kafka', name: 'kafka_2.10', version:'0.10.0.0'    compile 'com.mashape.unirest:unirest-java:1.4.9'    testCompile group: 'junit', name: 'junit', version:'4.12'}sourceSets {    main {        resources {            srcDirs = ["src/main/resources", "env/$profile"]        }    }}jar {    String someString = ''    configurations.runtime.each {someString = someString + " lib//"+it.name}    manifest {        attributes 'Main-Class': 'com.xbs.AppMain'        attributes 'Class-Path': someString    }}//清除上次的编译过的文件task clearPj(type:Delete){    delete 'build','target'}task copyJar(type:Copy){    from configurations.runtime    into ('build/libs/lib')}//把JAR复制到目标目录task release(type: Copy,dependsOn: [build,copyJar]) {// from 'conf'// into ('build/libs/eachend/conf') // 目标位置}

展开右侧的Gradle侧边栏,找到在other下可以看到clearPj,copyJar以及release,双击release即可打jar包(它默认会执行copyJar,就是把所有的第三方依赖包放到lib目录下):

如果看到控制台输出"BUILD SUCCESSFUL",说明打包成功:

 

打好的jar默认放在项目中的build目录中:

 打开jar包所在目录,可以使用反编译工具查看jar包中的目录结构和文件内容:

 打开命令行窗口,使用java -jar命令来执行jar包:

 

转载地址:http://qmlwa.baihongyu.com/

你可能感兴趣的文章
cad图纸转换完成的pdf格式模糊应该如何操作?
查看>>
Struts2与Struts1区别
查看>>
网站内容禁止复制解决办法
查看>>
Qt多线程
查看>>
我的友情链接
查看>>
想说一点东西。。。。
查看>>
css知多少(8)——float上篇
查看>>
NLB网路负载均衡管理器详解
查看>>
水平添加滚动条
查看>>
PHP中”单例模式“实例讲解
查看>>
VM EBS R12迁移,启动APTier . AutoConfig错误
查看>>
atitit.细节决定成败的适合情形与缺点
查看>>
Mysql利用binlog恢复数据
查看>>
我的友情链接
查看>>
用yum安装mariadb
查看>>
一点IT"边缘化"的人的思考
查看>>
WPF 降低.net framework到4.0
查看>>
搭建一个通用的脚手架
查看>>
开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
查看>>
开源磁盘加密软件VeraCrypt教程
查看>>