Maven 引入war工程【work】
场景:
之前为了便于查看生产者项目缓存情况,做了一套界面,用来查看刷新缓存。然而最近发现消费者项目上也需要这套缓存界面,因此打算将这套界面代码迁移成独立的web项目,然后由生产者和消费者通过POM文件将war依赖添加进去不就OK了吗。
操作:
①.创建一web类型的maven项目

②.变为一个war模块项目,需要将control层迁移出来,用spring mvc实现。因此需要引入对应的依赖。这里注意的地方是 这个项目运行起来是看不到界面的,引入依赖的作用只是在编译的时候不让他出错,并没有配置spring的配置文件,这些配置实际在生产者或消费者的工程中,实际就是将代码独立分出一个模块,只不过是个maven工程。
③.以生产者项目为例引入界面war依赖,pom配置大概如下:
<dependency>
<groupId>com.xxxx.xxx</groupId>
<artifactId>CachePage</artifactId>
<version>0.1</version>
<type>war</type>
<exclusions>
<exclusion>
<groupId>com.xxx.xxx</groupId>
<artifactId>springxxxxx</artifactId>
</exclusion>
</exclusions>
</dependency>
由于主工程已经引入了 spring相关的依赖所以需要排除缓存界面项目中的spring依赖。
④.以生产者为例,执行mvn clean pacakge ,观察打包后的项目结构,会发现,你的后台和前台的代码已经分别融合到了生产者项目中。
感悟:
①.由于control用的是注解,包的路径可以被生产者项目中配置的spring文件扫描到。
②.通过Maven我可以将web工程独立成模块,随意引用。
Maven 引入war工程【work】的更多相关文章
- 阶段3 1.Mybatis_10.JNDI扩展知识_2 补充-JNDI搭建maven的war工程
使用骨架 src下创建test目录 再新建java和resources两个Directory test下面创建java java的目录,让他作为源码的跟目录 test下的java文件夹 选择 完成之后 ...
- Eclipse创建maven的war工程没有web.xml解决方式
当我们使用Eclipse创建maven的web项目时,会缺少xml文件,在这里我提供两种自动创建xml的方法: 1.方法一 右键项目→Java EE Tools→Generate Deployment ...
- 如何利用maven将本地jar包引入到工程之中
1.在个人开发模式下,可以将jar包放入项目的lib目录中,在pom.xml中做如下配置: <dependencies> <dependency> <groupId> ...
- maven的核心概念——创建war工程
第十七章第四个Maven工程(war工程) 17.1 创建步骤 ①第一步:创建maven web工程 ②第二步:修改web.xml <?xml version="1.0" e ...
- 基于tomcat插件的maven多模块工程热部署(附插件源码)
内容属原创,转载请注明出处 写在前面的话 最近一直比较纠结,归根结底在于工程的模块化拆分.以前也干过这事,但是一直对以前的结果不满意,这会重操旧业,希望搞出个自己满意的结果. 之前有什么不满意的呢? ...
- Eclipse中打包maven项目-war包方式
IntelliJ IDEA打包成war(包括maven项目)点击打开链接 首先要在maven项目中的pom.XML中配置好需要的配置: <project xmlns="http://m ...
- Maven开发基础总结(Maven自启动,Maven打war包,Maven热部署)
学习内容: 1.不依赖外部Tomcat,自己启动方式部署 2.Maven打war包,远程部署到centOS 3.Maven热部署(不关闭Tomcat部署应用) 做maven开发前提: 1.编码UT ...
- maven生成war包的两种方式
war包即对WEB应用程序进行打包,用于应用容器的部署.如在jboss中只要把war包丢入deploy目录下即可发布自己的应用了.打包方式有很多中,很多工具本身就支持此功能.下面主要介绍通过maven ...
- SpringBoot打war包并部署到外部tomcat运行(jar工程改造为正war工程)
如果你的SpringBoot工程是一个jar工程,而想把它改造成war工程,并打成war包放到外部的tomcat下运行,该怎么修改配置呢?这里以Maven工程为例进行介绍. (1)将pom.xml中的 ...
随机推荐
- python编程零碎积累
例行程序 def routine(): lastday = '' while True: day = datetime.datetime.now().strftime( ...
- Golang常用数据结构(对照python)
python golang init get set extend/update find index size loop list list l := list.New() l.PushBack ...
- 性能测试工具LoadRunner21-LR之Controller 常用函数
1.事务函数: Lr_start_transaction(); //标记事务的开始 Lr_end_transaction(); //标记事务的结束,一般情况下,事务开始与结束联合使用 Lr_get ...
- Mongodb~连接串的整理
mongodb连接串可以分为普通开放的,带全局用户名和密码的,为指定数据库指定用户名密码的等. 普通开放连接 mongodb://localhost:27017 带全局用户密码的 mongodb:// ...
- accecc2010入门,语文
accecc2010入门 数据库:存放数据并处理的仓库. access2010数据库(扩展名为accdb,改名时不能删扩展名): 1,功能区:代替了菜单栏和工具栏的功能,不用四处查找命令.在窗口下的顶 ...
- MVC中的验证码
下面是一个完整的mvc controller类 public class CodeController : Controller { private const string CODE = " ...
- easyui combobox with checkbox item
$('#cc').combobox({ url:'combobox_data1.json', method:'get', valueField:'id', textField:'text', pane ...
- Hibernate多对多删除问题的解决
原出处:http://superleo.iteye.com/blog/154587 Hibernate多对多的例子不少,但仔细一看,大多数都是保存的,删除谈的少,但问题还不少,因此有必须简单测试一下, ...
- css3骰子(transform初识)
利用css3制作可旋转的骰子,效果图如下,也可以查看 demo: 首先是骰子的html结构,.page 是骰子的六个页面的 class,#one-#six分别表示六个面,.point 是骰子表面的点数 ...
- 如何解决ArcGIS Runtime SDK for Android中文标注无法显示的问题
自10.2版本开始,我就一直被ArcGIS Runtime SDK for Android的中文标注无限困扰.无论是驻留于内存中的Graphic 的文本符号TextSymbol,还是新增的离线geod ...