AndroidStudio Java Module打包成Jar(包含依赖文件)

前言
利用AS开发Java程序真是作死

问题

利用AS开发Java程序后,希望打包成一个jar,同时能包含依赖文件。

into(‘lib’){from }

以上做法并没有用,尝试了很多姿势,一直无法将依赖包打进jar中。

Google到fatjar,坑爹的是只有在Intellij IDEA才能用

解决

shadowjar 解决

官方User Guide

build.gradle如下:

apply plugin: 'java-library'
apply plugin: 'com.github.johnrengelman.shadow'
apply plugin: 'java'

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
    	//5.0.0 需要gradle 5.0+ 才可构建
        classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.0'
    }
}

shadowJar {
    manifest{
    	//main 函数地址类
        attributes 'Main-Class': 'demo'
    }
    baseName = 'demo'
    classifier = null
    version = 'V1.0'
    dependencies {
    	//需要依赖的第三方lib
        include(dependency('commons-cli:commons-cli:1.4'))
        //多个
        include(dependency('com.alibaba:fastjson:1.2.58'))
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'commons-cli:commons-cli:1.4'
}

compileJava {
    sourceCompatibility = "8"
    targetCompatibility = "8"
}

然后 Gradle–>Tasks–>shadow–>shadowJar 双击即可在 build/libs下生成jar文件

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值