1 Star 0 Fork 1

HycJack/ry-msg

forked from Rey Wong/ry-msg 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
pom.xml 27.05 KB
一键复制 编辑 原始数据 按行查看 历史
030642 提交于 2019-11-25 14:33 . 更新
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764
<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>
<groupId>cn.com.ry.application</groupId>
<artifactId>ry-msg</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ry-msg</name>
<url>http://maven.apache.org</url>
<inceptionYear>2019</inceptionYear>
<properties>
<skip_maven_deploy>false</skip_maven_deploy>
<dependency.scope>compile</dependency.scope>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<org.springframework.version>4.1.5.RELEASE</org.springframework.version>
<org.slf4j.version>1.7.12</org.slf4j.version>
<log4j.version>2.3</log4j.version>
<servlet.api.version>2.5</servlet.api.version>
<org.aspectj.aspectjrt.version>1.6.12</org.aspectj.aspectjrt.version>
<org.aspectj.aspectjweaver.version>1.7.4</org.aspectj.aspectjweaver.version>
<asm.version>3.1</asm.version>
<cglib.version>2.2</cglib.version>
<commons-beanutils>1.8.0</commons-beanutils>
<commons-collections>3.2.1</commons-collections>
<commons-fileupload>1.2.1</commons-fileupload>
<commons-io>2.4</commons-io>
<commons-lang>2.4</commons-lang>
<commons-logging>1.1.1</commons-logging>
<commons-pool>1.5.5</commons-pool>
<commons-digester>2.1</commons-digester>
<commons-codec>1.3</commons-codec>
<dom4j.version>1.6.1</dom4j.version>
<net.sf.ehcache>1.5.0</net.sf.ehcache>
<net.sf.ezmorph>1.0.6</net.sf.ezmorph>
<com.alibaba.fastjson>1.2.5</com.alibaba.fastjson>
<org.freemarker>2.3.16</org.freemarker>
<org.apache.httpcomponents.httpcore>4.0.1</org.apache.httpcomponents.httpcore>
<org.apache.httpcomponents.httpmime>4.2.1</org.apache.httpcomponents.httpmime>
<axis-jaxrpc>1.2.1</axis-jaxrpc>
<org.jdom>1.1.3</org.jdom>
<redis.clients.jedis>2.9.0</redis.clients.jedis>
<org.codehaus.jettison>1.0-RC2</org.codehaus.jettison>
<net.sf.json-lib>2.4</net.sf.json-lib>
<jstl>1.2</jstl>
<javax.transaction>1.1</javax.transaction>
<net.sourceforge.jexcelapi>2.6.12</net.sourceforge.jexcelapi>
<oro>2.0.8</oro>
<com.belerweb>2.5.0</com.belerweb>
<com.thoughtworks.qdox>1.6.3</com.thoughtworks.qdox>
<com.caucho.hessian>4.0.38</com.caucho.hessian>
<com.oracle>10.2.0.4.0</com.oracle>
<org.quartz-scheduler>2.2.1</org.quartz-scheduler>
<aopalliance>1.0</aopalliance>
<javassist>3.12.1.GA</javassist>
<ognl>2.7.3</ognl>
<taglibs>1.1.2</taglibs>
<com.opensymphony>2.1.6</com.opensymphony>
<javax.portlet>2.0</javax.portlet>
<org.apache.ws.commons.axiom>1.2.5</org.apache.ws.commons.axiom>
<org.apache.httpcomponents.httpclient>4.0.1</org.apache.httpcomponents.httpclient>
<com.google.code.gson>1.5</com.google.code.gson>
<commons-dbcp>1.3</commons-dbcp>
<org.codehaus.jackson>1.9.13</org.codehaus.jackson>
<mysql.version>5.1.25</mysql.version>
<org.apache.ibatis>2.3.4.726</org.apache.ibatis>
<servlets.com.cos>05Nov2002</servlets.com.cos>
<jackson-version>2.5.0</jackson-version>
<tiles.version>2.2.2</tiles.version>
<tiles.request.version>1.0.6</tiles.request.version>
<junit.version>4.12</junit.version>
<jsp.api.version>2.2</jsp.api.version>
<kafka.version>0.8.0</kafka.version>
<track.version>0.0.1-SNAPSHOT</track.version>
<commons.version>0.0.1-SNAPSHOT</commons.version>
<core.version>0.0.1-SNAPSHOT</core.version>
<framework.version>0.0.1-SNAPSHOT</framework.version>
<org.dwr.version>3.0.1-RELEASE</org.dwr.version>
<netty.version>4.1.9.Final</netty.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>${servlet.api.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>${jsp.api.version}</version>
<scope>provided</scope>
</dependency>
<!-- log4j begin -->
<dependency>
<groupId>com.lmax</groupId>
<artifactId>disruptor</artifactId>
<version>3.2.0</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${org.slf4j.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${org.slf4j.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-1.2-api</artifactId>
<version>${log4j.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${log4j.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>${log4j.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<!-- log4j end -->
<!--aop-->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${org.aspectj.aspectjrt.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${org.aspectj.aspectjweaver.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>${asm.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>${cglib.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<!-- commons lib -->
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>${commons-beanutils}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>${commons-collections}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>${commons-fileupload}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons-io}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>${commons-lang}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>${commons-logging}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>${commons-pool}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>commons-digester</groupId>
<artifactId>commons-digester</artifactId>
<version>${commons-digester}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>${commons-codec}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>${dom4j.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>${net.sf.ehcache}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>net.sf.ezmorph</groupId>
<artifactId>ezmorph</artifactId>
<version>${net.sf.ezmorph}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${com.alibaba.fastjson}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>${org.freemarker}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>${org.apache.httpcomponents.httpcore}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>${org.apache.httpcomponents.httpmime}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.jdom</groupId>
<artifactId>jdom</artifactId>
<version>${org.jdom}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>${redis.clients.jedis}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.codehaus.jettison</groupId>
<artifactId>jettison</artifactId>
<version>${org.codehaus.jettison}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>${net.sf.json-lib}</version>
<classifier>jdk15</classifier>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>${jstl}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>${javax.transaction}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>${net.sourceforge.jexcelapi}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>oro</groupId>
<artifactId>oro</artifactId>
<version>${oro}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>${com.belerweb}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>com.thoughtworks.qdox</groupId>
<artifactId>qdox</artifactId>
<version>${com.thoughtworks.qdox}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>com.caucho</groupId>
<artifactId>hessian</artifactId>
<version>${com.caucho.hessian}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>${com.oracle}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>${org.quartz-scheduler}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
<version>${aopalliance}</version>
<scope>${dependency.scope}</scope>
</dependency>
<!-- spring lib -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${org.springframework.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${org.springframework.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${org.springframework.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>${org.springframework.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${org.springframework.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${org.springframework.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-websocket</artifactId>
<version>${org.springframework.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${org.springframework.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${org.springframework.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<!-- end spring lib -->
<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<version>${javassist}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>ognl</groupId>
<artifactId>ognl</artifactId>
<version>${ognl}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>${taglibs}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>com.opensymphony</groupId>
<artifactId>xwork-core</artifactId>
<version>${com.opensymphony}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>javax.portlet</groupId>
<artifactId>portlet-api</artifactId>
<version>${javax.portlet}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.apache.ws.commons.axiom</groupId>
<artifactId>axiom-api</artifactId>
<version>${org.apache.ws.commons.axiom}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.apache.ws.commons.axiom</groupId>
<artifactId>axiom-dom</artifactId>
<version>${org.apache.ws.commons.axiom}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.apache.ws.commons.axiom</groupId>
<artifactId>axiom-impl</artifactId>
<version>${org.apache.ws.commons.axiom}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${org.apache.httpcomponents.httpclient}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>${com.google.code.gson}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>${commons-dbcp}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson-version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson-version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson-version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.apache.ibatis</groupId>
<artifactId>ibatis-sqlmap</artifactId>
<version>${org.apache.ibatis}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>servlets.com</groupId>
<artifactId>cos</artifactId>
<version>${servlets.com.cos}</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.10.0</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
<version>2.7.1</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
<version>1.4.01</version>
<scope>${dependency.scope}</scope>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.10</artifactId>
<version>${kafka.version}</version>
<scope>${dependency.scope}</scope>
<exclusions>
<exclusion>
<groupId>com.sun.jdmk</groupId>
<artifactId>jmxtools</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jmx</groupId>
<artifactId>jmxri</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--start dwr-->
<dependency>
<groupId>org.directwebremoting</groupId>
<artifactId>dwr</artifactId>
<version>${org.dwr.version}</version>
<scope>${dependency.scope}</scope>
</dependency>
<!--end dwr-->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-jaxrs</artifactId>
<version>${org.codehaus.jackson}</version>
</dependency>
<!--start netty-->
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>${netty.version}</version>
</dependency>
<!--end netty-->
</dependencies>
</dependencyManagement>
<!-- 使用maven 部署构件至Nexus -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<addMavenDescriptor>true</addMavenDescriptor>
<index>true</index>
<manifest>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>${skip_maven_deploy}</skip>
</configuration>
</plugin>
</plugins>
</build>
<modules>
<module>ry-msg-common</module>
<module>ry-msg-mc</module>
<module>ry-msg-test</module>
<module>ry-msg-sdk</module>
<module>ry-msg-web</module>
<module>ry-msg-api</module>
</modules>
</project>
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/HycJack/ry-msg.git
git@gitee.com:HycJack/ry-msg.git
HycJack
ry-msg
ry-msg
master

搜索帮助