进入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依赖管理的更多相关文章

  1. Liferay7 BPM门户开发之37: Liferay7下的OSGi Hook集成开发

    hook开发是Liferay客制扩展的一种方式,比插件灵活,即可以扩展liferay门户,也能对原有特性进行更改,Liferay有许多内置的服务,比如用hook甚至可以覆盖Liferay服务. 可作为 ...

  2. Liferay7 BPM门户开发之17: Portlet 生命周期

    Portlet 生命周期 init() =〉 render() =〉 processAction() =〉 processEvent() =〉 serveResource() =〉destroy() ...

  3. Liferay7 BPM门户开发之10: 通用流程实现从Servlet到Portlet(Part1)

    开发目的: 实现通用流程自动化处理(即实现不需要hardcode代码的bpm统一处理后台,仅需要写少量前端html form代码和拖拽设计BPM定义) 既可独立运行或可依托于Liferay或依托其它门 ...

  4. Liferay7 BPM门户开发之12:acitiviti和liferay用户权限体系集成

    写到第12章才出现Liferay的内容,希望可以厚积薄发. 我们的目标是不使用不维护Activiti的用户组织架构,只维护Liferay的体系,这样的好处是非常明显的,即不用做组织架构的同步工作. 原 ...

  5. Liferay7 BPM门户开发之38: OSGi模块化Bndtools、Maven、Gradle开发构建入门

    前言 OSGi是目前动态模块系统的事实上的工业标准,它适用于任何需要模块化.面向服务.面向组件的应用程序.Eclipse如此庞大和复杂的插件体系,就是基于OSGi.Liferay也是基于OSGi.OS ...

  6. Liferay7 BPM门户开发之44: 集成Activiti展示流程列表

    处理依赖关系 集成Activiti之前,必须搞清楚其中的依赖关系,才能在Gradle里进行配置. 依赖关系: 例如,其中activiti-engine依赖于activiti-bpmn-converte ...

  7. Liferay7 BPM门户开发之27: MVC Portlet插件工程开发

    官网上的教材说实话实在精简不清晰. https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/creating-an-mvc-por ...

  8. Liferay7 BPM门户开发之42: Liferay核心JSP定制扩展

    Liferay最大的好处是不仅接口强大,利于扩展,就连JSP定制扩展都提供了3种方式. 修改核心jsp代码,有3种修改方式:1.暴力修改直接修改(位于portal-web/docroot/html), ...

  9. Liferay7 BPM门户开发之32: 实现自定义认证登陆(定制Authentication Hook)

    第一步:修改liferay-hook.xml <?xml version="1.0"?> <!DOCTYPE hook PUBLIC "-//Lifer ...

随机推荐

  1. Struts2基础

    访问ServletApi (1)用ActionConten访问Api, ActionContent.getContext().getSession().put("user",&qu ...

  2. Pyhton开源框架(加强版)

    info:Djangourl:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 ...

  3. 自己做了一个json格式化工具,亲测可以使用

    随笔背景:在向后台请求数据之后,我们常常会拿到一串json格式.此时,为了方便查看key-value,程序猿们常常使用一些在线json格式化工具或者是类似于notepadd++这样的工具进行转换.今天 ...

  4. 利用nodejs实现登录并转码视频(原创)

    nodejs的出现让前端人员可以使用js打造后台,也许哪天就真的摆脱了对java或者php的依赖了. 今天跟大家分享一个利用nodejs接受前端post请求,并实现视频转码的这样一个例子.视频转码用到 ...

  5. React 随笔二

    这周做的demo3和demo4.5 随记的小点. 1.js错误提示: Warning: Each child in an array or iterator should have a unique  ...

  6. word-wrap&&word-break,奇偶行、列设置样式

    1.word-wrap和word-break区分. 来源场景:机械租赁mvc驾驶员信息查看: 当备注的文字多的时候,第一列的值成这模样: 解决方案:设置table 的td可自动换行.首先table设置 ...

  7. iphone 耳机 线控

    有电话呼入时: 按一次接听电话: 快速按两次将电话转到语音信箱: 通话中: 按一次挂断电话: 通话中如果有第二个电话打进来时: 按一次保留当前通话并接听第二个电话: 按住两秒钟不放忽略(拒绝接听)第二 ...

  8. java——多线程——内部类共享同一个外部类对象的成员变量

    public class Shop { public static void main(String[] args) { Outer o=new Outer(); Thread t1=o.getSal ...

  9. wxGlade的图标,竟来自名画!

    一直用wxGlade做GUI的,今天突然发现它的图标和一副油画很像,查了下资料果然如此.  wxGlade的图标,而且图标的文件名竟然就叫做mondrian.ico 下面是蒙德里安的作品,<构图 ...

  10. mysql5.6-5.7性能调优

    1.DEFAULT_STORAGE_ENGINE 如果你已经在用MySQL 5.6或者5.7,并且你的数据表都是InnoDB,那么表示你已经设置好了.如果没有,确保把你的表转换为InnoDB并且设置d ...