Maven 引入war工程【work】

场景:

      之前为了便于查看生产者项目缓存情况,做了一套界面,用来查看刷新缓存。然而最近发现消费者项目上也需要这套缓存界面,因此打算将这套界面代码迁移成独立的web项目,然后由生产者和消费者通过POM文件将war依赖添加进去不就OK了吗。

操作:

①.创建一web类型的maven项目

image

②.变为一个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工程独立成模块,随意引用。

原文地址:https://www.cnblogs.com/springmonkey/p/10344966.html