使用Gradle将Maven库打包成Jar

项目需要将Dropwizard(Java RESTful服务)与Derby(轻量数据库)打包成Jar然后提供给其他工程使用,由于Dropwizard并未提供jar-release版本,所以写了个gradle构建脚本用于将maven库中的Dropwizard与Derby整合打包成一个jar包,然后再添加到目标项目中使用。

脚本代码:

apply plugin: ‘java‘

project.ext {
    // 项目标题名称
    title = ‘DropwizardDerby‘
    // 项目名称前缀
    baseName = ‘DropwizardDerby‘
    // 项目版本信息
    version = ‘0.1.0‘
    // dropwizard版本
    dropwizardVersion = ‘1.0.6‘
    // derby版本
    derbyVersion = ‘10.13.1.1‘
}

task release(type: Jar) {
    // 清单属性
    manifest {
        attributes ‘Implementation-Title‘: project.ext.title, ‘Implementation-Version‘: project.ext.version
    }
    // jar包名
    baseName = project.ext.baseName + project.ext.version
    // 打包依赖
    from {
        configurations.compile.collect {
            it.isDirectory() ? it : zipTree(it)
        }
    }
    with jar
}

// maven库
repositories {
    mavenCentral()
}

// 依赖设置
dependencies {
    compile(
            ‘io.dropwizard:dropwizard-core:‘+project.ext.dropwizardVersion,
            ‘io.dropwizard:dropwizard-hibernate:‘+project.ext.dropwizardVersion,
            ‘io.dropwizard:dropwizard-migrations:‘+project.ext.dropwizardVersion,
            ‘io.dropwizard:dropwizard-auth:‘+project.ext.dropwizardVersion,
            ‘org.apache.derby:derby:‘+project.ext.derbyVersion
    )
}

使用方式:

1、安装Gradle(我用的2.1.0版本)并加入环境变量

2、将该脚本创建在任意目录中

3、执行

gradle clean
gradle release

4、然后如果运行正常的话,会在build/libs中找到生成的jar包

5、然后在其他项目中依赖该jar即可,理论上本脚本也可以适用于其他maven中库的打包,再次仅提供一个思路,可以自行修改

就是这些,感谢阅读,如果有更好的方法欢迎评论交流!

时间: 2024-10-07 23:44:28

使用Gradle将Maven库打包成Jar的相关文章

maven把项目打包成jar包后找不到velocity模板的bug

使用springmvc 开发时候要实现发送velcotiy模板邮件,在配置正常后,在本地测试正常后,使用maven打包成jar包后,报以下错误, Caused by: org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'templates/index.vm' at org.apache.velocity.runtime.resource.ResourceManagerImpl.load

maven打包成jar,并排除指定文件

maven打包成jar,配置如下 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <finalName>order</finalName> <archive>

使用maven 将springboot 应用打包成jar并运行

使用maven 将springboot 应用打包成jar并运行 使用maven将springboot应用打包成一个jar并且运行,需要执行以下几步: 第一步:在springboot的pom.xml中添加maven插件 <!--这个插件,可以将应用打包成一个可执行的jar包--> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spri

【Android端】代码打包成jar包/aar形式

Android端代码打包成jar包和aar形式: 首先,jar包的形式和aar形式有什么区别? 1.打包之后生成的文件地址: *.jar:库/build/intermediates/bundles/debug(release)/classes.jar *.aar:库/build/outputs/aar/libraryname.aar 区别:jar包只包含了classes文件,不包含资源文件:aar不仅包含了classes文件,还包含资源文件 并且,aar的这个可以发布到maven库,然后使用者直

java类打包成jar文件&amp;&amp;jar包的引入

一.将类打包成jar文件 首先分别看下MainActivity.java和func.java的源代码 现在要将func.java打包成jar包,方法如下: a.右击func.java ->Export ->Java ->JAR file b.在Select the resources to export中选择要打包的类,这里注意,如果这个类有调用其他动态/静态库,不需要一起选择,只选择java文件.库文件随着jar一起放到新工程目录下即可引用.然后输入JAE名称和存放位置,点finish

Android 将Activity及其他类打包成jar包供第三方调用

在开发java工程时,一个项目可能分为多个模块,为了实现模块间的解耦和独立,提高模块的复用性,通常将项目按模块分为多个java工程进行开发,最后通过jar包等工程依赖的方式实现系统集成,提高模块的耦合和复用. 现在开发Android项目通过实践和总结,发现这种方式特别有必要,比如开发一个android端的视频播放功能,肯定有播放和下载模块,如果不分开放在一个工程里面不断的添加新的功能,产品的每一个研发都不断的添加修改功能,最后维护越来越难,bug越来越多,并相互推诿,这种方式能避免这种情况,此为

Android Proguard安全加固教你如何让自己的应用程序或SDK更难被反编译--library打包成jar并且混淆

在android 应用层开发的时候咱们技术人员都或多或少都会接触一些SDK比如so.jar等,这些都是数据类公司提供给互联网开发公司的关于技术核心类 方便的东西,因为是核心所以加密加固是必不可少的工作,本博今天就向大家介绍jar的封装打包以及混淆,完成自己的SDK!在此之前需要给大家说 说so,so是由C/C++语言编译而来,其反编译难度更大,因为反编译之后就是汇编语言,需要懂汇编才能看懂,更重要的是即使懂汇编把其复原也是相 当大的工程,尤其是一些大公司的SDK,那就更别说了,而jar呢反编译的

java代码打包成jar以及转换为exe

教你如何把java代码打包成jar文件以及转换为exe可执行文件 1.背景: 学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件.实在是心有不爽.此篇博客教你如何方便快捷地把java代码,打包成jar文件以及转换为exe可执行文件 2.前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 3.准备: 下载e

怎么将maven项目打包成war包

问题:我在eclipse上能运行,然后我想将这个maven项目打包成war然后放到另外一台机子上(其实是手动放在tomcat的webapp目录中),提供外部访问.现在问题是,一直maven项目打包一直出错.请问大侠怎么将maven打包好?万分感谢 回答1:右键项目,选择Run As,再选择Maven build...,这时会弹出个新界面,在Goals里输入clean package,然后点击Run就行了,打包好的项目放在target文件夹下面.clean package是maven的一个命令,意