Liferay7 BPM门户开发之43: Gradle依赖管理
进入liferay v7.0,官方推荐使用Gradle进行依赖管理和发布,所以必须知道Gradle的用法,网上资料很多,不赘述
只写依赖管理的分类
一般用外部仓库依赖,也可以用本地文件依赖(依赖本地jar包),如:
本地文件依赖
dependencies {
//单文件依赖
compile files('libs/activiti-engine-5.21.0.jar')
//某文件夹的全部依赖
compile fileTree(dir: 'libs', include: '*.jar')
其中libs目录,与build.gradle目录在同一个文件夹下。
Gradle外部仓库依赖一般有两种写法:
- 写法1:compile
- 写法2:compile group XXX
实际上都是一样的。
比如activiti的依赖:
compile group: 'org.activiti', name: 'activiti-engine', version: '5.21.0'
如果熟悉Maven,会很熟悉,只是Maven用的是XML格式:
<!-- https://mvnrepository.com/artifact/org.activiti/activiti-engine -->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>5.21.0</version>
</dependency>
一堆Gradle依赖写在一起:
compile group: 'joda-time', name: 'joda-time', version: '2.6'
compile group: 'org.activiti', name: 'activiti-bpmn-converter', version: '5.21.0'
compile group: 'org.activiti', name: 'activiti-process-validation', version: '5.21.0'
compile group: 'org.activiti', name: 'activiti-image-generator', version: '5.21.0'
compile group: 'org.apache.commons', name: 'commons-email', version: '1.4'
compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.3.2'
compile group: 'org.mybatis', name: 'mybatis', version: '3.3.0'
compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.6'
compile group: 'org.slf4j', name: 'jcl-over-slf4j', version: '1.7.6'
compile group: 'org.springframework', name: 'spring-beans', version: '4.1.5.RELEASE'
compile group: 'org.activiti', name: 'activiti-engine', version: '5.21.0'
Gradle仓库有4种使用方法,请按情况转换
1、使用maven中央仓库:
repositories {
mavenCentral()
} 2、使用私有aven远程仓库:
repositories {
maven {
url "http://repo.Yourcompany.com/public"
}
} 3、远程Ivy仓库:
repositories {
ivy {
url "http://repo.Yourcompany.com/public"
}
} 4、本地Ivy仓库:
repositories {
ivy {
url "../local-repo"
}
}
可以使用多个仓库,Gradle会按顺序依次寻找,找到后会停止寻找,一般把最快的URL放最前边,最后放本地Ivy仓库。
常用的仓库:
http://central.maven.org/maven2/
http://repo1.maven.org/maven2
http://repo2.maven.org/maven2/
发布你自己的JAR包
发布artifacts到一个Maven私有仓库:
apply plugin: 'maven'
uploadArchives {
repositories {
mavenDeployer {
repository(url: "file://localhost/tmp/myRepo/")
}
}
}
发布到远程公共仓库:
uploadArchives {
repositories {
ivy {
credentials {
username "username"
password "pw"
}
url "http://repo.mycompany.com"
}
}
}
Liferay7 BPM门户开发之43: Gradle依赖管理的更多相关文章
- Liferay7 BPM门户开发之37: Liferay7下的OSGi Hook集成开发
hook开发是Liferay客制扩展的一种方式,比插件灵活,即可以扩展liferay门户,也能对原有特性进行更改,Liferay有许多内置的服务,比如用hook甚至可以覆盖Liferay服务. 可作为 ...
- Liferay7 BPM门户开发之17: Portlet 生命周期
Portlet 生命周期 init() =〉 render() =〉 processAction() =〉 processEvent() =〉 serveResource() =〉destroy() ...
- Liferay7 BPM门户开发之10: 通用流程实现从Servlet到Portlet(Part1)
开发目的: 实现通用流程自动化处理(即实现不需要hardcode代码的bpm统一处理后台,仅需要写少量前端html form代码和拖拽设计BPM定义) 既可独立运行或可依托于Liferay或依托其它门 ...
- Liferay7 BPM门户开发之12:acitiviti和liferay用户权限体系集成
写到第12章才出现Liferay的内容,希望可以厚积薄发. 我们的目标是不使用不维护Activiti的用户组织架构,只维护Liferay的体系,这样的好处是非常明显的,即不用做组织架构的同步工作. 原 ...
- Liferay7 BPM门户开发之38: OSGi模块化Bndtools、Maven、Gradle开发构建入门
前言 OSGi是目前动态模块系统的事实上的工业标准,它适用于任何需要模块化.面向服务.面向组件的应用程序.Eclipse如此庞大和复杂的插件体系,就是基于OSGi.Liferay也是基于OSGi.OS ...
- Liferay7 BPM门户开发之44: 集成Activiti展示流程列表
处理依赖关系 集成Activiti之前,必须搞清楚其中的依赖关系,才能在Gradle里进行配置. 依赖关系: 例如,其中activiti-engine依赖于activiti-bpmn-converte ...
- Liferay7 BPM门户开发之27: MVC Portlet插件工程开发
官网上的教材说实话实在精简不清晰. https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/creating-an-mvc-por ...
- Liferay7 BPM门户开发之42: Liferay核心JSP定制扩展
Liferay最大的好处是不仅接口强大,利于扩展,就连JSP定制扩展都提供了3种方式. 修改核心jsp代码,有3种修改方式:1.暴力修改直接修改(位于portal-web/docroot/html), ...
- Liferay7 BPM门户开发之32: 实现自定义认证登陆(定制Authentication Hook)
第一步:修改liferay-hook.xml <?xml version="1.0"?> <!DOCTYPE hook PUBLIC "-//Lifer ...
随机推荐
- 自动挂载文件/etc/fstab功能详解
今天看了这篇文章,对于自动挂载中的一些小细节和参数有了更深的理解,所以这次把它摘下来,留做查询 一./etc/fstab文件的作用 1.我们把磁盘手动挂载之后如果不把它写入/etc/fstab这个文件 ...
- CodeBlock 使用TextOut出错
undefined reference to `TextOutA@20'C:\Program Files (x86)\CodeBlocks\MinGW\lib这次需要的库是:libgdi32.a 1. ...
- ExtJS 列表数据编辑
在ExtJs中,GridPanel一般用于展示列表数据.同时利用一些附加的插件也能编辑数据.类似于asp.net中的DataGridView控件. 展示数据比较简单,利用Store则可以自动展示,只要 ...
- C#与Swift异步操作的差异
作为一个从C#转到Swift的小菜鸡...最近做一个简单的请求API解析Json数据的小程序上碰到一堆小问题.尤其是在异步请求的时候,用惯了C#的async/await写法,在写Swift的时候也按着 ...
- 冒泡排序-java
排序-冒泡排序 基本思想:从一端开始,逐个比较相邻的两个元素,发现倒序即交换. 这里按从后往前(从下往上)逐个比较相邻元素. 平均时间:O(n2) 最好情况:O(n) 最坏情况:O(n2)(逆序) 辅 ...
- AngularJs 与Jquery的对比分析,超详细!
闲来无事,在网上发现了一篇对比AngularJs和Jquery的文章.恰好最近自己也在研究AngularJs.特此收藏.需要的朋友可以参考. 原问题:假如我熟悉利用jQuery去开发客户端应用,那么我 ...
- Link To Sql简单
Linq及其扩展 Linq是一种数据查询语言(它能够从多种数据源中查询数据). 现在基于Linq的扩展有: Linq To Object:主要是从内存对象中查询数据 Linq To Sql:主要是从M ...
- 【C++自绘控件】如何用GDI+来显示图片
在我们制作一个应用软件的时候往往需要在窗口或控件中添加背景图.而图片不仅有BMP格式的,还有JPEG.PNG.TIFF.GIF等其它的格式.那么如何用jpg格式的图片来当背景呢? 这里用到了GDI+, ...
- 微小企业中Sqlserver2000服务器的日常备份与恢复
1:把数据库和备份分别放在二个硬盘上 2:不要相信用户会使用客户端坚持备份数据,比较靠谱的方法是为数据库建立维护计划 3:数据库采用每天完全备份,并且时间一定要选择在用户肯定开机的时候,因为很多用户晚 ...
- [ASE][Daily Scrum]12.15
这两周事情好多~ 组里面的事情,出国的申请出国………… 不过整体来说我们sprint3并没有安排太多的工作,所以完成情况尚可. 大地图和AI花费了不少时间,