使用maven建立父子结构的分布式项目
来源:互联网 发布:新百伦淘宝官方旗舰店 编辑:程序博客网 时间:2024/05/20 11:48
一、新建一个普通maven project做为父项目
删除掉所有文件、文件夹和库,只留下pom.xml
修改pom.xml文件,把pacakage改成pom
<packaging>pom</packaging>
修改pom.xml文件后,项目上有错的话,可以试试右击maven》update project。
二、新建maven module
打开pom.xml的overview方式,点击create
三、第一次打包时要用父项目的pom.xml打包。多个子项目分开打包时一定要按依赖关系的顺序打包。
四、maven开发分布式项目
ch-zdemo-dubbo-app打包成jar部署到应用服务器,
ch-zdemo-dubbo-web打包成war部署到web服务器,
ch-zdemo-dubbo-service公共业务层接口
ch-zdemo-dubbo-bean公共实体类包
ch-zdemo-dubbo-common其它公共类包
ch-zdemo-dubbo-core公共核心包
ch-zdemo-dubbo-mapper公共持久层接口包
ch-zdemo-dubbo-utils公共工具类包
其中ch-zdemo-dubbo-app需要打包成jar部署到应用服务器,在app项目的pom.xml里加上使用打包插件,把所有的依赖的jar都打包进来,配置如下:
<build><resources><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include><!-- 主要是mapper.xml文件 --></includes></resource><resource><directory>src/main/resources</directory><!-- 配置文件 --></resource></resources><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.6.1</version><configuration><source>1.7</source><!-- 源代码使用的开发版本 --><target>1.7</target><!-- 需要生成的目标class文件的编译版本 --></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.0.0</version><executions><execution><phase>package</phase><goals><goal>shade</goal></goals><configuration><transformers><transformerimplementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"><mainClass>com.chhuang.application.App</mainClass><!-- 带main方法的类 --></transformer><!-- 以添加的方式写入spring.handlers和spring.schemas --><transformerimplementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"><resource>META-INF/spring.handlers</resource></transformer><transformerimplementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"><resource>META-INF/spring.schemas</resource></transformer></transformers><filters><!-- 过滤掉多余的.SF .DSA .RSA文件 --><filter><artifact>*:*</artifact><excludes><exclude>META-INF/*.SF</exclude><exclude>META-INF/*.DSA</exclude><exclude>META-INF/*.RSA</exclude></excludes></filter></filters></configuration></execution></executions></plugin></plugins><finalName>ch-zdemo-dubbo-app</finalName></build>
配置完pom后,调用mvn clean install命令进行构建,构建成功后打开工程target目录,发现生成了2个jar包,一个为:original-XXX.jar,另一个为:XXX.jar,其中original.jar里只包含了工程自己的class文件,而另外的一个jar包则包含了工程本身以及所有依赖的jar包的class文件。我们只需要使用第二个jar包就可以了。
3 0
- 使用maven建立父子结构的分布式项目
- Maven建立父子关系项目工程,建立依赖关系结构
- Maven项目创建(父子结构)
- Maven导入建立父子项目时的问题
- Maven建立父子关系项目工程,建立依赖关系结构,构建工作集
- Maven中构建项目父子结构
- Maven 建立父子项目和跨项目调用内容的步骤
- 建立maven项目时没有出现maven的标准结构
- maven父子项目使用assembly插件打包
- Maven的父子项目引用关系
- Maven项目的建立
- maven父子项目
- maven创建父子项目
- maven 父子项目
- maven创建父子项目
- 创建Maven父子项目
- 使用maven和springMVC项目的结构
- 使用eclipse建立maven项目
- ExpressBox 7 – RAS
- Android集成FFmpeg库录音
- 关于函数,递归
- 开发必备的15个Javascript库
- JAVA中基于UDP实现多线程通信
- 使用maven建立父子结构的分布式项目
- HDFS,YARN,HBASE,ZOOKEEPER主要默认端口
- CCF 201509-3 模板生成系统
- 自己写的一个简单的Android终端模拟器
- IOS 点击查看预览大图缩放图片往下掉的处理
- 百度BAE部署java web(Jforum)项目
- TreeSet方法之一 当向TreeSet中添加Person对象 续 确定按哪个属性排序
- c++
- [51nod1634][hdu5729]刚体图