友报账开发学习
1,友报账开发
前端技术:
后端技术:
相关技术:
2,友报账前端
2.1、前提条件
要想使用 Angular 框架,你要先熟悉下列技术:
JavaScript
HTML
前端项目结构
--.sourcemaps 这个目录不知道干嘛的
--node_modules 这个是npm安装依赖包、库的目录,与NCC一样
--plugins 插件模板?不知道存放什么插件,这些插件有什么用
--resources 应该是存放静态资源文件的
--android 安卓资源文件
--IOS ios资源文件
--src 前端angular源码文件夹
--www 前端代码编译打包后的文件夹,他们称之为三达不溜包
··.editorconfig文件
··config.xml 没看出来什么东西,都是些静态资源配置
··ionic.config.json
··package-lock.json
··package.json
··report.20200728.194803.18156.0.001.json
··tsconfig.json
··tslint.json
··yarn-error.log
3,友报账后端:
3.1远程调试:
进入友报账的docker,
找到,进入tomcat
编辑tomcat启动的文件startup.sh,
在头部加入
declare -x CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8788"
idea开发工具设置:
3.2后端目录结构:
整个工程是个多级模块,父模块ybz,对应各个子模块
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.yonyou.ybzboot</groupId>
<artifactId>parent</artifactId>
<version>1.2.1-SNAPSHOT</version>
</parent>
<groupId>com.yonyou</groupId>
<artifactId>ybz</artifactId>
<version>0.0.1-RELEASE</version>
<packaging>pom</packaging>
<description>友报账 重构</description>
<modules>
<module>common-pub</module>
<module>base-doc</module>
<module>third-party</module>
<module>business-apply</module>
<module>business-expense</module>
<module>business-budget</module>
<module>business-pay</module>
<module>common-mq</module>
<module>common-approve</module>
<module>common-template</module>
<module>common-print</module>
<module>business-pub</module>
<module>business-loan</module>
<module>open-api</module>
<module>all-in-one</module>
<module>common-erp</module>
<module>common-ocr</module>
<module>business-accrued</module>
<module>business-apphome</module>
<module>business-rule</module>
</modules>
<!--具体依赖配置省略 -->
</project>
以子模块common-erp为例:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>ybz</artifactId>
<groupId>com.yonyou</groupId>
<version>0.0.1-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<description>erp集成 - 姜世杰</description>
<packaging>pom</packaging>
<artifactId>common-erp</artifactId>
<name>common-erp</name>
<modules>
<module>common-erp-pri</module>
<module>common-erp-pri-nc</module>
<module>common-erp-pub</module>
</modules>
</project>
其中与NCC交互的孙子模块为:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>common-erp</artifactId>
<groupId>com.yonyou</groupId>
<version>0.0.1-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>common-erp-pri-nc</artifactId>
<name>common-erp-pri-nc</name>
<dependencies>
<dependency>
<groupId>com.yonyou</groupId>
<artifactId>common-erp-pri</artifactId>
<version>0.0.1-RELEASE</version>
</dependency>
<dependency>
<groupId>com.yonyou</groupId>
<artifactId>common-mq-pub</artifactId>
<version>0.0.1-RELEASE</version>
</dependency>
<dependency>
<groupId>com.yonyou</groupId>
<artifactId>third-party-pub</artifactId>
<version>0.0.1-RELEASE</version>
</dependency>
<dependency>
<groupId>com.yonyou</groupId>
<artifactId>open-api-pub</artifactId>
<version>0.0.1-RELEASE</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
3.3启动友报账后端本地环境
现在还不会,涉及到几个修改,修改本地环境配置文件,编译本地代码,各个模块打包install
略。。。
3.4 开发调试修改代码
3.4.1 搭好本地开发工程环境
1,代码同步,从git或svn拉代码下来后,导入idea;
2,先对*父工程ybz(root),进行install,编译代码,并且安装到本地maven库;
3,确定本地开发工程代码编译不报错!
3.4.2代码调试
代码调试功能开发可以打远程断点,然后修改本地代码,代码编译后生效;
3.4.3 本地代码合并:
简单说明:ncc补丁代码合并只需要与对应java代码做代码合并,然后对合并后的java类导出补丁即可;
友报账由于是使用开发spring技术开发的应用,且部署方式为docker,其项目代码全部为友报账docker镜像中的jar包,只做简单适配的换,需要下载对应的jar包,替换jar包中的.class代码;
步骤:
1,构建友报账后端工程,合并对应的java代码;
2,使用maven进行编译,从target中复制对应的class;
3,放到友报账环境中对应的jar中即可;
3.5后端开发(从git获取的教程)
3.5.1 工程简介
3.5.1.1 结构
工程是maven module结构,各module又分web、pri、pub三个project。
其中:
web 主要是对访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理等
pri 主要是自身业务应用的实现,包括 service、dao等
pub 主要是服务接口 常量 工具类,用于自己和其他工程调用。
如:
ybz
----business-apply
--------business-apply-web
--------business-apply-pri
--------business-apply-pub
3.5.1.2 pub模块依赖关系:
1)base可以依赖common;
2)business可以依赖common、base;
3)business-apply、business-loan、business-expense可以依赖business-note;
4)third-party可以依赖所有模块
3.5.1.3 非pub模块依赖
1)各模块间的依赖只能通过pub依赖,即依赖common-pub或各模块*-pub
2) 内部有依赖其他模块dao的,通过在其他模块pub中添加service接口解决依赖关系
3) 模块内部pri、web各只能依赖pub,
3.5.1.4 模块工程结构
project
----src/main/java (java代码)
--------com.yonyou.ybz.模块.controller (controller内部禁止写业务逻辑,逻辑统一写在服务里service)
--------com.yonyou.ybz.模块.service
--------com.yonyou.ybz.模块.service.impl
--------com.yonyou.ybz.模块.dao
--------com.yonyou.ybz.模块.dao.mapping
--------com.yonyou.ybz.模块.pojo
----src/main/resources (配置文件)
--------develop(开发环境配置)
--------test(测试环境配置)
--------product(生产环境配置)
----src/test/java (测试用例)
----src/test/resources (测试配置文件)
----src/main/webapp (web工程的)
1)java文件放到 src/main/java, 配置文件放到src/main/resources(个性化配置放在对应目录develop、test、product)
2) 新建包 com.yonyou.ybz.模块名称.功能名称 如:com.yonyou.ybz.user.controller com.yonyou.ybz.user.service com.yonyou.ybz.user.mapper
3.5.2 开发规范
1 命名
1)类名使用UpperCamelCase风格,必须遵从驼峰形式,但以下情形例外:(领域模型的相关命名)DO/ BO / DTO/ VO等
2)方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格,必须遵从驼峰形式
3)常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长
4)抽象类命名使用Abstract或Base开头;异常类命名使用Exception结尾;测试类命名以它要测试的类的名称开始,以Test结尾
5)POJO类中布尔类型的变量,都不要加is,否则部分框架解析会引起序列化错误
6)接口以I开头,实现类以Impl结尾,如:IUserService、 UserServiceImpl
7)枚举类名建议带上Enum后缀,枚举成员名称需要全大写,单词间用下划线隔开
8)Service/DAO层方法命名规约
a. 获取单个对象的方法用get做前缀
b. 获取多个对象的方法用list做前缀
c. 获取统计值的方法用count做前缀
d. 插入的方法用save(推荐)或insert做前缀
e. 删除的方法用remove(推荐)或delete做前缀
f. 修改的方法用update做前缀
9) 领域模型命名规约
a. 数据对象:xxxDO,xxx即为数据表名
b. 数据传输对象:xxxDTO,xxx为业务领域相关的名称
c. 展示对象:xxxVO,xxx一般为网页名称
d. POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO
2 常量定义
1)long或者Long初始赋值时,必须使用大写的L,不能是小写的l,小写容易跟数字1混淆,造成误解
2)不要使用一个常量类维护所有常量,应该按常量功能进行归类,分开维护
3) 常量的复用层次有五层:跨应用共享常量、应用内共享常量、子工程内共享常量、包内共享常量、类内共享常量
a. 跨应用共享常量:放置在二方库中,通常是client.jar中的constant目录下
b. 应用内共享常量:放置在一方库的modules中的constant目录下
c. 子工程内部共享常量:即在当前子工程的constant目录下
d. 包内共享常量:即在当前包下单独的constant目录下
e. 类内共享常量:直接在类内部private static final定义
3 格式规约
1)大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果是非空代码块则:
a. 左大括号前不换行。
b. 左大括号后换行。
c. 右大括号前换行。
d. 右大括号后还有else等代码则不换行;表示终止右大括号后必须换行
2)左括号和后一个字符之间不出现空格;同样,右括号和前一个字符之间也不出现空格
3)任何运算符左右必须加一个空格
4)缩进采用4个空格
5)单行字符数限制不超过120个,超出需要换行,换行时遵循如下原则:
a. 第二行相对第一行缩进4个空格,从第三行开始,不再继续缩进.
b. 运算符与下文一起换行。
c. 方法调用的点符号与下文一起换行。
d. 在多个参数超长,逗号后进行换行。
e. 在括号前不要换行.
正例:
StringBuffer sb = new StringBuffer();
//超过120个字符的情况下,换行缩进4个空格,并且方法前的点符号一起换行
sb.append("zi").append("xin")...
.append("huang")...
.append("huang")...
.append("huang");
6)方法参数在定义和传入时,多个参数逗号后边必须加空格
7)IDE的text file encoding设置为UTF-8;IDE中文件的换行符使用Unix格式,不要使用windows格式
8)方法体内的执行语句组、变量的定义语句组、不同的业务逻辑之间或者不同的语义之间插入一个空行。相同业务逻辑和语义之间不需要插入空行
4 OOP规约
1)避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可
2)所有的覆写方法,必须加@Override注解
3)外部正在调用或者二方库依赖的接口,不允许修改方法签名,避免对接口调用方产生影响。接口过时必须加@Deprecated注解,并清晰地说明采用的新接口或者新服务是什么
4)所有的相同类型的包装类对象之间值的比较,全部使用equals方法比较
5)关于基本数据类型与包装数据类型的使用标准如下
a. 所有的POJO类属性必须使用包装数据类型
b. RPC方法的返回值和参数必须使用包装数据类型
c. 所有的局部变量使用基本数据类型
7)定义DO/DTO/VO等POJO类时,不要设定任何属性默认值
8)构造方法里面禁止加入任何业务逻辑,如果有初始化逻辑,请放在init方法中
9)POJO类必须写toString方法。如果继承了另一个POJO类,注意在前面加一下super.toString
5 并发处理
1)获取单例对象需要保证线程安全,其中的方法也要保证线程安全
2)创建线程或线程池时请指定有意义的线程名称,方便出错时回溯
3)线程资源必须通过线程池提供,不允许在应用中自行显式创建线程
4)线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险
5)SimpleDateFormat是线程不安全的类,一般不要定义为static变量,如果定义为static,必须加锁,或者使用DateUtils工具类。
如果是JDK8的应用,可以使用Instant代替Date,LocalDateTime代替Calendar,DateTimeFormatter代替Simpledateformatter
6)高并发时,同步调用应该去考量锁的性能损耗。能用无锁数据结构,就不要用锁;能锁区块,就不要锁整个方法体;能用对象锁,就不要用类锁
7)对多个资源、数据库表、对象同时加锁时,需要保持一致的加锁顺序,否则可能会造成死锁
8)并发修改同一记录时,避免更新丢失,需要加锁。要么在应用层加锁,要么在缓存加锁,要么在数据库层使用乐观锁,使用version作为更新依据
9)多线程并行处理定时任务时使用ScheduledExecutorService
10)避免Random实例被多线程使用,虽然共享该实例是线程安全的,但会因竞争同一seed导致的性能下降
在JDK7之后,可以直接使用APIThreadLocalRandom,在JDK7之前,可以做到每个线程一个实例
11)volatile解决多线程内存不可见问题。对于一写多读,是可以解决变量同步问题,但是如果多写,同样无法解决线程安全问题。如果是count++操作,使用如下类实现:
AtomicIntegercount = new AtomicInteger();
count.addAndGet(1);
如果是JDK8,推荐使用LongAdder对象,比AtomicLong性能更好(减少乐观锁的重试次数)
12)HashMap在容量不够进行resize时由于高并发可能出现死链,导致CPU飙升,在开发过程中注意规避此风险
13)ThreadLocal无法解决共享对象的更新问题,ThreadLocal对象建议使用static修饰。这个变量是针对一个线程内所有操作共有的,所以设置为静态变量,
所有此类实例共享此静态变量,也就是说在类第一次被使用时装载,只分配一块存储空间,所有此类的对象(只要是这个线程内定义的)都可以操控这个变量
6 注释规约
1)类、类属性、类方法的注释必须使用Javadoc规范,使用/*内容/格式,不得使用//xxx方式
2)所有的抽象方法(包括接口中的方法)必须要用Javadoc注释、除了返回值、参数、异常说明外,还必须指出该方法做什么事情,实现什么功能
3)所有的枚举类型字段必须要有注释,说明每个数据项的用途
4)特殊注释标记 待办事宜(TODO ) 错误,不能工作(FIXME)
7 异常
1)捕获异常是为了处理它,不要捕获了却什么都不处理而抛弃之,如果不想处理它,请将该异常抛给它的调用者。最外层的业务使用者,必须处理异常,将其转化为用户可以理解的内容
2)在代码中使用“抛异常”还是“返回错误码”,对于公司外的http/api开放接口必须使用“错误码”;而应用内部推荐异常抛出;跨应用间RPC调用优先考虑使用Result方式,
封装isSuccess、“错误码”、“错误简短信息
8 日志
1)应用中不可直接使用日志系统(Log4j、Logback)中的API,而应依赖使用日志框架SLF4J中的API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一
2)异常信息应该包括两类信息:案发现场信息和异常堆栈信息
9 MySql 规约
0)字符集utf8,排序规则utf8_general_ci
1)表达是与否概念的字段,必须使用is_xxx的方式命名,数据类型是unsignedtinyint(1表示是,0表示否) 任何字段如果为非负数,必须是unsigned。
2)表名、字段名必须使用小写字母或数字,禁止出现数字开头,禁止两个下划线中间只出现数字
3)表名不使用复数名词
4)禁用保留字,如desc、range、match、delayed等
5)主键索引名为pk_字段名;唯一索引名为uk_字段名;普通索引名则为idx_字段名
6)小数类型为decimal,禁止使用float和double,float和double在存储的时候,存在精度损失的问题。如果存储的数据范围超过decimal的范围,建议将数据拆成整数和小数分开存储
7)如果存储的字符串长度几乎相等,使用char定长字符串类型
8)varchar是可变长字符串,不预先分配存储空间,长度不要超过5000,如果存储长度大于此值,定义字段类型为text,独立出来一张表,用主键来对应,避免影响其它字段索引效率
9)表必备6个字段:
id varchar(36) --程序生成主键IDUtil.get36UUID(),
creator varchar(36) --创建人,
create_time timestamp --创建时间,
modified varchar(36) --修改人,
dr char(1) --逻辑删除,0:未删除;1:删除,
ts CURRENT_TIMESTAMP --勾选根据当前时间更新时间戳
9.1)字段必选添加注释 --方便数据字典抽取
10)表的命名最好是加上“业务名称_表的作用”
11)字段允许适当冗余,以提高性能,但是必须考虑数据同步的情况。冗余字段应遵循:不是频繁修改的字段,不是varchar超长字段,更不能是text字段
12)单表行数超过500万行或者单表容量超过2GB,才推荐进行分库分表
13)合适的字符存储长度,不但节约数据库表空间、节约索引存储,更重要的是提升检索速度
14)业务上具有唯一特性的字段,即使是组合字段,也必须建成唯一索引
15)超过三个表禁止join。需要join的字段,数据类型必须绝对一致;多表关联查询时,保证被关联的字段需要有索引
16)搜索严禁左模糊或者全模糊,如果需要请走搜索引擎来解决。索引文件具有B-Tree的最左前缀匹配特性,如果左边的值未确定,那么无法使用此索引
17)建组合索引的时候,区分度最高的在最左边。但存在非等号和等号混合判断条件时,在建索引时,请把等号条件的列前置
18)count(*)会统计值为NULL的行,而count(列名)不会统计此列为NULL值的行
19)数据订正时,删除和修改记录时,要先select,避免出现误删除,确认无误才能执行更新语句
20)in操作能避免则避免,若实在避免不了,需要仔细评估in后边的集合元素数量,控制在1000个之内
3.5.3 测试运行
1 运行 all-in-one
2 日志路径 通过 log.properties配置 默认是 log.dir=/usr/local/logs/
ybz工程pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.yonyou.ybzboot</groupId>
<artifactId>parent</artifactId>
<version>1.2.1-SNAPSHOT</version>
</parent>
<groupId>com.yonyou</groupId>
<artifactId>ybz</artifactId>
<version>0.0.1-RELEASE</version>
<packaging>pom</packaging>
<description>友报账 重构</description>
<modules>
<module>common-pub</module>
<module>base-doc</module>
<module>third-party</module>
<module>business-apply</module>
<module>business-expense</module>
<module>business-budget</module>
<module>business-pay</module>
<module>common-mq</module>
<module>common-approve</module>
<module>common-template</module>
<module>common-print</module>
<module>business-pub</module>
<module>business-loan</module>
<module>open-api</module>
<module>all-in-one</module>
<module>common-erp</module>
<module>common-ocr</module>
<module>business-accrued</module>
<module>business-apphome</module>
<module>business-rule</module>
</modules>
<properties>
<java.version>1.8</java.version>
<!-- spring版本号 -->
<spring.version>5.1.6.RELEASE</spring.version>
<!-- mybatis版本号 -->
<mybatis.version>3.4.6</mybatis.version>
<!-- log4j日志文件管理包版本 -->
<!--<slf4j.version>1.7.7</slf4j.version>-->
<log4j.version>1.2.17</log4j.version>
<iuap.modules.version>3.0.0-RC001</iuap.modules.version>
<iuap_basedoc_sdk.version>1.0.1-SNAPSHOT</iuap_basedoc_sdk.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- 主要依赖库的版本定义 -->
<cas.version>0.4-SNAPSHOT</cas.version>
<!-- ucf-file组件版本定义 -->
<ucf-file.version>1.0.5-SNAPSHOT</ucf-file.version>
<aliyun-sdk-oss.version>3.6.0</aliyun-sdk-oss.version>
<fastdfs.version>1.0-SNAPSHOT</fastdfs.version>
<hw-sdk-obs.version>3.19.7</hw-sdk-obs.version>
<yht.version>5.0.12-SNAPSHOT</yht.version>
</properties>
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.12</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.5.3</version>
<exclusions>
<exclusion>
<artifactId>spring</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.6</version>
<exclusions>
<exclusion>
<artifactId>log4j</artifactId>
<groupId>log4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
</dependency>
<dependency>
<groupId>com.yonyou.cloud.jwt</groupId>
<artifactId>java-jwt</artifactId>
<version>3.1.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<artifactId>bcprov-jdk15on</artifactId>
<groupId>org.bouncycastle</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
<dependency>
<groupId>com.hankcs</groupId>
<artifactId>hanlp</artifactId>
<version>portable-1.7.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
</dependency>
<dependency>
<groupId>com.yonyou.ybz</groupId>
<artifactId>formula-ybz</artifactId>
<version>1.0.9</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<scope>test</scope>
</dependency>
<!-- mybatis核心包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<!-- mybatis/spring包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
</dependency>
<!-- 导入java ee jar 包 -->
<!--<dependency>-->
<!--<groupId>javax</groupId>-->
<!--<artifactId>javaee-api</artifactId>-->
<!--<version>7.0</version>-->
<!--</dependency>-->
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1.1</version>
<!-- <scope>runtime</scope> -->
</dependency>
<!-- 导入Mysql数据库链接jar包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>compile</scope>
</dependency>
<!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.2.2</version>
</dependency>
<!-- JSTL标签类 -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- 日志文件管理包 -->
<!-- log start -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
<!-- 格式化对象,方便输出日志 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.34</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<!-- log end -->
<!-- 映入JSON -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<!-- 上传组件包 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.9</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjrt -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.8.9</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.0.2.Final</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.1</version>
</dependency>
<!-- 测试还款规则 -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.28</version>
</dependency>
<dependency>
<groupId>org.unitils</groupId>
<artifactId>unitils-core</artifactId>
<version>3.4.2</version>
<scope>test</scope>
<exclusions>
<exclusion>
<artifactId>commons-logging</artifactId>
<groupId>commons-logging</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.unitils</groupId>
<artifactId>unitils-spring</artifactId>
<version>3.3</version>
<exclusions>
<exclusion>
<artifactId>poi</artifactId>
<groupId>poi</groupId>
</exclusion>
</exclusions>
<scope>test</scope>
</dependency>
<!-- config redis data and client jar -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk16</artifactId>
<version>1.46</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcmail-jdk16</artifactId>
<version>1.46</version>
</dependency>
<dependency>
<groupId>org.xhtmlrenderer</groupId>
<artifactId>core-renderer</artifactId>
<version>R8</version>
<exclusions>
<exclusion>
<groupId>bouncycastle</groupId>
<artifactId>bcmail-jdk14</artifactId>
</exclusion>
<exclusion>
<groupId>bouncycastle</groupId>
<artifactId>bcprov-jdk14</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.reactivex</groupId>
<artifactId>rxjava</artifactId>
<version>1.1.3</version>
</dependency>
<!--nc依赖 -->
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.6</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-quartz</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.9.6</version>
</dependency>
<!--引入yonyou Maven -->
<!--<dependency> -->
<!--<groupId>com.yonyou.osp</groupId> -->
<!--<artifactId>tenant-integration</artifactId> -->
<!--<version>0.0.6-SNAPSHOT</version> -->
<!--</dependency> -->
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap-tenant-cas</artifactId>
<version>1.3.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap-tenant-sdk</artifactId>
<version>${yht.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit</artifactId>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
<dependency>
<groupId>com.github.fernandospr</groupId>
<artifactId>javapns-jdk16</artifactId>
<version>2.3.1</version>
</dependency>
<!--jpush以及它依赖的package -->
<dependency>
<groupId>cn.jpush.api</groupId>
<artifactId>jpush-client</artifactId>
<version>3.2.17</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
<dependency>
<groupId>com.squareup.okhttp</groupId>
<artifactId>mockwebserver</artifactId>
<version>1.5.4</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--增加短信验证引入 -->
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap-message</artifactId>
<version>3.0.0-RC001</version>
</dependency>
<!--iuap uuid 生成 -->
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap-oid</artifactId>
<version>${iuap.modules.version}</version>
</dependency>
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap-saas-dynamicds</artifactId>
<version>${iuap.modules.version}</version>
</dependency>
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap-auth</artifactId>
<version>${iuap.modules.version}</version>
<exclusions>
<exclusion>
<artifactId>log4j-over-slf4j</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- jjwt,Java Web Token签名工具包 -->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.6.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
<version>2.1.7.RELEASE</version>
</dependency>
<!-- 云打印 -->
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap.print.client</artifactId>
<version>1.0.3-RC003</version>
</dependency>
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap-securitycenter-client</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<!-- iuap基本档案1.0版本 -->
<!-- 基本档案公共服务 -->
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap_basedoc_sdk</artifactId>
<version>1.0.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>com.yonyou.cloud</groupId>
<artifactId>auth-sdk-client</artifactId>
</exclusion>
<exclusion>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap-sdk-common</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 组织,部门查询服务SDK -->
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap-org-sdk</artifactId>
<version>1.1.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>com.yonyou.cloud</groupId>
<artifactId>auth-sdk-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 职务、职级、人员基本信息同步SDK -->
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap_bd_sdk</artifactId>
<version>1.0.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>com.yonyou.cloud</groupId>
<artifactId>auth-sdk-client</artifactId>
</exclusion>
<exclusion>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap-sdk-common</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- iuap基本档案2.0版本 -->
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap-bd-pub-qry-sdk</artifactId>
<version>2.5.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap-bd-common-api</artifactId>
<version>2.5.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap-sdk-common</artifactId>
<version>2.5.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<artifactId>bcprov-jdk15on</artifactId>
<groupId>org.bouncycastle</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap-basedoc-sdk</artifactId>
<version>2.5.0-SNAPSHOT</version>
</dependency>
<!--基本档案-友报账特定需求查询-->
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap-bd-pub-scn-sdk</artifactId>
<version>2.5.0-SNAPSHOT</version>
</dependency>
<!--基本档案公共操作服务-->
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap-bd-pub-mtn-sdk</artifactId>
<version>2.5.0-SNAPSHOT</version>
</dependency>
<!--友账表基本档案-->
<dependency>
<groupId>com.yonyou.ficloud</groupId>
<artifactId>ficloud-bd-pub</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
<!--云审sdk add by zhangybt -->
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap-bpm-sync-sdk</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!--JSON add by zhangybt -->
<!--<dependency> -->
<!--<groupId>org.json</groupId> -->
<!--<artifactId>json</artifactId> -->
<!--<version>20090211</version> -->
<!--</dependency> -->
<!--云审批正式sdk -->
<dependency>
<groupId>com.yonyou.uap.bpm</groupId>
<artifactId>ubpm-rest-sdk</artifactId>
<version>${ubpm-rest-sdk-version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.sourceforge.jexcelapi/jxl -->
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
</dependency>
<dependency>
<groupId>org.bitbucket.b_c</groupId>
<artifactId>jose4j</artifactId>
<version>0.5.2</version>
</dependency>
<dependency>
<groupId>com.aliyun.api.gateway</groupId>
<artifactId>sdk-core-java</artifactId>
<version>1.0.3</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
<!-- 去除ficloud依赖 -->
<dependency>
<groupId>com.yonyou.ssc</groupId>
<artifactId>push-im-service</artifactId>
<version>1.0</version>
<exclusions>
<exclusion>
<groupId>com.yonyou.fi</groupId>
<artifactId>ficloud_sdk</artifactId>
</exclusion>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
</exclusion>
<exclusion>
<artifactId>javaee-api</artifactId>
<groupId>javax</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- oss授权相关 -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-sts</artifactId>
<version>2.1.6</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>2.1.7</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1-rc1</version>
</dependency>
<!-- 查询分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.0.3</version>
</dependency>
<dependency>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
</dependency>
<!-- http请求工具类 -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>fluent-hc</artifactId>
<version>4.5.2</version>
</dependency>
<!-- 权限sdk -->
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>tenantauth-sdk</artifactId>
<version>0.0.5-SNAPSHOT</version>
</dependency>
<!--验证码 -->
<dependency>
<groupId>com.github.axet</groupId>
<artifactId>kaptcha</artifactId>
<version>0.0.9</version>
</dependency>
<!-- WEB-INF/lib -->
<dependency>
<groupId>ssc</groupId>
<artifactId>aliyun-sdk-mns</artifactId>
<version>1.1.7</version>
</dependency>
<dependency>
<groupId>ssc</groupId>
<artifactId>xtLogin</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>ssc</groupId>
<artifactId>um_gateway</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>ssc</groupId>
<artifactId>QRCode</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>ssc</groupId>
<artifactId>pubumlogin</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>ssc</groupId>
<artifactId>pubuapsfapp</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>ssc</groupId>
<artifactId>mobem_pub</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>ssc</groupId>
<artifactId>log</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>ssc</groupId>
<artifactId>granite</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>ssc</groupId>
<artifactId>fwserver</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>ssc</groupId>
<artifactId>fwpub</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>ssc</groupId>
<artifactId>ermthirdparty</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>ssc</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>ssc</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>
<dependency>
<groupId>ssc</groupId>
<artifactId>commons.httpclient</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>ssc</groupId>
<artifactId>basic</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>ssc</groupId>
<artifactId>corp.openapicalls.lib.webapi</artifactId>
<version>V5.0.41</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.coobird/thumbnailator -->
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</dependency>
<dependency>
<groupId>tianwei</groupId>
<artifactId>topesa</artifactId>
<version>0.0.2</version>
</dependency>
<dependency>
<groupId>tianwei</groupId>
<artifactId>bcprov</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>tianwei</groupId>
<artifactId>top-core</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>tianwei</groupId>
<artifactId>top-security</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>tianwei</groupId>
<artifactId>TopBasicCrypto</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>tianwei</groupId>
<artifactId>json</artifactId>
<version>0.0.1</version>
</dependency>
<!-- cas -->
<dependency>
<groupId>org.jasig.cas.client</groupId>
<artifactId>cas-client-core</artifactId>
<version>3.3.2</version>
<exclusions>
<exclusion>
<!-- declare the exclusion here -->
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15</artifactId>
</exclusion>
<exclusion>
<!-- declare the exclusion here -->
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
</exclusion>
<exclusion>
<!-- declare the exclusion here -->
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
</exclusion>
<exclusion>
<!-- declare the exclusion here -->
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</exclusion>
<exclusion>
<artifactId>log4j-over-slf4j</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<!--集成友户通登录需要 -->
<dependency>
<groupId>com.yonyou.yht</groupId>
<artifactId>yht-sso-client</artifactId>
<version>0.4-SNAPSHOT</version>
</dependency>
<!-- 登录后使用Redis存储session时需要 -->
<dependency>
<groupId>com.yonyou.yht</groupId>
<artifactId>yht-sso-cache</artifactId>
<version>0.4-SNAPSHOT</version>
</dependency>
<!--调用友户通SDK的依赖-->
<dependency>
<groupId>com.yonyou.yht</groupId>
<artifactId>yht-sdk</artifactId>
<version>${yht.version}</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<!-- 系统互信 -->
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap-security</artifactId>
<version>3.0.0-RC001</version>
<exclusions>
<exclusion>
<!-- declare the exclusion here -->
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
<exclusion>
<!-- declare the exclusion here -->
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</exclusion>
<exclusion>
<!-- declare the exclusion here -->
<groupId>xom</groupId>
<artifactId>xom</artifactId>
</exclusion>
<exclusion>
<artifactId>log4j-over-slf4j</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.9.0</version>
<classifier>javadoc</classifier>
</dependency>
<dependency>
<groupId>io.springside</groupId>
<artifactId>springside-redis</artifactId>
<version>4.3.0-RELEASE</version>
</dependency>
<!--解析pdf-->
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.9</version>
</dependency>
<!--<dependency>-->
<!--<groupId>fi</groupId>-->
<!--<artifactId>fiaccess_sdk</artifactId>-->
<!--<version>0.0.1-SNAPSHOT</version>-->
<!--</dependency>-->
<dependency>
<groupId>com.yonyou.ybzboot</groupId>
<artifactId>redis-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</exclusion>
<exclusion>
<artifactId>jersey-server</artifactId>
<groupId>org.glassfish.jersey.core</groupId>
</exclusion>
<exclusion>
<artifactId>bcprov-jdk15on</artifactId>
<groupId>org.bouncycastle</groupId>
</exclusion>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.yonyou.ybzboot</groupId>
<artifactId>hystrix-pub</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>com.yonyou.cloud.middleware</groupId>
<artifactId>mwclient</artifactId>
<version>5.1.5-RELEASE</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>com.yonyou.cloud.middleware</groupId>
<artifactId>iris-spring-support</artifactId>
<version>5.1.5-RELEASE</version>
</dependency>
<dependency>
<groupId>com.yonyou.diwork</groupId>
<artifactId>diwork-sdk</artifactId>
<version>4.0.6-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>com.yonyou.iuap</groupId>
<artifactId>iuap-generic</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.yonyou.diwork</groupId>
<artifactId>diwork-pub-lisence</artifactId>
<version>4.0.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.xiaoleilu</groupId>
<artifactId>hutool-all</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>tenantauth-common</artifactId>
<version>0.0.6-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.yonyou.brigade</groupId>
<artifactId>brigade_client</artifactId>
<version>1.0.7-RELEASE</version>
</dependency>
<dependency>
<groupId>com.yonyou.fi</groupId>
<artifactId>fievent_sdk</artifactId>
<version>0.0.9-SNAPSHOT</version>
</dependency>
<!-- 报账通用工具包:包含多语相关内容 -->
<dependency>
<groupId>com.yonyou.ybz</groupId>
<artifactId>common-generic</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!-- 员工信用工具包 -->
<dependency>
<groupId>com.yonyou.ybz</groupId>
<artifactId>credit-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.yonyou.ybzboot</groupId>
<artifactId>mybatisplus-starter</artifactId>
<exclusions>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
</exclusion>
<exclusion>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
</exclusion>
<exclusion>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</exclusion>
<exclusion>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</exclusion>
<exclusion>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
</exclusion>
<exclusion>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.yonyou.ybzboot</groupId>
<artifactId>facade-starter</artifactId>
</dependency>
<dependency>
<groupId>com.yonyou.ybzboot</groupId>
<artifactId>dubbo-starter</artifactId>
<exclusions>
<exclusion>
<groupId>com.yonyou.ybzboot</groupId>
<artifactId>common-starter</artifactId>
</exclusion>
<exclusion>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.yonyou.ybzboot</groupId>
<artifactId>txmq-starter</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>ucg-auth-sdk</artifactId>
<version>5.0.2-RELEASE</version>
</dependency>
<!--ucf-file组件-->
<dependency>
<groupId>com.yonyou.iuap</groupId>
<artifactId>ucf-file</artifactId>
<version>${ucf-file.version}</version>
</dependency>
<!-- FastDFS -->
<dependency>
<groupId>org.csource</groupId>
<artifactId>fastdfs-client-boost</artifactId>
<version>${fastdfs.version}</version>
</dependency>
<!-- 阿里云OSS -->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>${aliyun-sdk-oss.version}</version>
<exclusions>
<exclusion>
<artifactId>json-lib</artifactId>
<groupId>net.sf.json-lib</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- 阿里云OSS END-->
<!--华为云OBS -->
<dependency>
<groupId>com.huaweicloud</groupId>
<artifactId>esdk-obs-java</artifactId>
<version>${hw-sdk-obs.version}</version>
</dependency>
<!--华为云END -->
</dependencies>
<repositories>
<repository>
<id>fi_releases</id>
<name>fi_releases</name>
<url>http://172.20.4.221:8081/nexus/content/repositories/releases/</url>
</repository>
<repository>
<id>fi_snapshots</id>
<name>fi_snapshots</name>
<url>http://172.20.4.221:8081/nexus/content/repositories/snapshots/</url>
</repository>
<!--
<repository>
<id>ybz_releases</id>
<name>ybz_releases</name>
<url>http://maven.yonyou.com/nexus/repository/ybz-releases/</url>
</repository>
<repository>
<id>ybz_snapshots</id>
<name>ybz_snapshots</name>
<url>http://maven.yonyou.com/nexus/repository/ybz-snapshots/</url>
</repository>
-->
</repositories>
<pluginRepositories>
<pluginRepository>
<id>public</id>
<name>public</name>
<url>http://maven.yonyou.com/nexus/repository/public/</url>
</pluginRepository>
<pluginRepository>
<id>Nuxeo</id>
<name>Nuxeo</name>
<url>http://maven.yonyou.com/nexus/content/repositories/Nuxeo</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<!-- profile配置 -->
<profiles>
<profile>
<id>saas-kekai</id>
<properties>
<package.environment>saas-kekai</package.environment>
<ubpm-rest-sdk-version>1.2.2-SNAPSHOT</ubpm-rest-sdk-version>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<id>saas-dev</id>
<properties>
<package.environment>saas-dev</package.environment>
<ubpm-rest-sdk-version>1.2.2-SNAPSHOT</ubpm-rest-sdk-version>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<id>saas-test</id>
<properties>
<package.environment>saas-test</package.environment>
<ubpm-rest-sdk-version>2.7</ubpm-rest-sdk-version>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<id>saas-hotfix</id>
<properties>
<package.environment>saas-hotfix</package.environment>
<ubpm-rest-sdk-version>2.7</ubpm-rest-sdk-version>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<id>saas-prod</id>
<properties>
<package.environment>saas-prod</package.environment>
<ubpm-rest-sdk-version>2.7</ubpm-rest-sdk-version>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<id>u8c-iter</id>
<properties>
<package.environment>u8c-iter</package.environment>
<ubpm-rest-sdk-version>1.2.2-SNAPSHOT</ubpm-rest-sdk-version>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<id>u8c-daily</id>
<properties>
<package.environment>u8c-daily</package.environment>
<ubpm-rest-sdk-version>1.2.2-SNAPSHOT</ubpm-rest-sdk-version>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>u8c-test</id>
<properties>
<package.environment>u8c-test</package.environment>
<ubpm-rest-sdk-version>1.2.2-SNAPSHOT</ubpm-rest-sdk-version>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<id>u8c-pre</id>
<properties>
<package.environment>u8c-pre</package.environment>
<ubpm-rest-sdk-version>2.7</ubpm-rest-sdk-version>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<id>u8c-prd</id>
<properties>
<package.environment>u8c-prd</package.environment>
<ubpm-rest-sdk-version>2.7</ubpm-rest-sdk-version>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<id>ncc-cust-dev</id>
<properties>
<package.environment>ncc-cust-dev</package.environment>
<ubpm-rest-sdk-version>2.7</ubpm-rest-sdk-version>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<!--ncc临时开发环境-->
<profile>
<id>ncc-dev</id>
<properties>
<package.environment>ncc-dev</package.environment>
<ubpm-rest-sdk-version>2.7</ubpm-rest-sdk-version>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<id>ncc-daily</id>
<properties>
<package.environment>ncc-daily</package.environment>
<ubpm-rest-sdk-version>1.2.2-SNAPSHOT</ubpm-rest-sdk-version>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<id>ncc-test</id>
<properties>
<package.environment>ncc-test</package.environment>
<ubpm-rest-sdk-version>2.7</ubpm-rest-sdk-version>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<id>ncc-grey</id>
<properties>
<package.environment>ncc-grey</package.environment>
<ubpm-rest-sdk-version>2.7</ubpm-rest-sdk-version>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<id>ncc-prod</id>
<properties>
<package.environment>ncc-prod</package.environment>
<ubpm-rest-sdk-version>2.7</ubpm-rest-sdk-version>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<id>ncc-pri</id>
<properties>
<package.environment>ncc-pri</package.environment>
<ubpm-rest-sdk-version>2.7</ubpm-rest-sdk-version>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<id>nccmobile-dev</id>
<properties>
<package.environment>nccmobile-dev</package.environment>
<ubpm-rest-sdk-version>1.2.2-SNAPSHOT</ubpm-rest-sdk-version>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
</profiles>
<build>
<finalName>${project.name}</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>filters/**</exclude>
<exclude>common/**</exclude>
<exclude>common-config/**</exclude>
<exclude>sql/**</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources/common</directory>
</resource>
<resource>
<directory>src/main/resources/common-config</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources/filters/${package.environment}</directory>
<excludes>
<exclude>src/main/resources/filters/${package.environment}/config.properties</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources/sql</directory>
</resource>
<!--解决工具原因导致找不到mapper文件问题-->
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
<include>com/nc/**</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArguments>
<extdirs>src/main/webapp/WEB-INF/lib</extdirs>
</compilerArguments>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
<distributionManagement>
</distributionManagement>
</project>