zoukankan      html  css  js  c++  java
  • 友报账开发

    友报账开发学习

    1,友报账开发

    前端技术:

    后端技术:

    相关技术:

    2,友报账前端

    2.1、前提条件

    要想使用 Angular 框架,你要先熟悉下列技术:

    JavaScript
    HTML

    前端项目结构

    image-20201120160720088

    --.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开发工具设置:

    image-20201124110542747

    3.2后端目录结构:

    image-20201124155331717

    整个工程是个多级模块,父模块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/

    《完整的pom文件》
    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>
    
  • 相关阅读:
    iOS13使用bluetooth作为peripheral发送广播问题
    替代AttributeString的一个Label的类目
    Xcode拖动选中代码
    判断地图定位授权状态
    QLPreViewController的初步实用
    iOS的多版本配置(版本分离,多环境配置)
    -[NSBundle initWithURL:]: nil URL argument'
    xib的UIScrollView自适应高度
    ab工具-压力测试工具
    UIImageView的属性contentMode
  • 原文地址:https://www.cnblogs.com/zhongxiaoze/p/14031837.html
Copyright © 2011-2022 走看看