关闭

maven的war依赖

标签: maven
643人阅读 评论(0) 收藏 举报
分类:

项目中模块越来越多,需要对项目进行模块拆分,模块中包含web资源(页面,js,配置文件,class文件)。A、B两个项目在POM文件中的类型都是war

A作为主项目需要引入B项目(据说同名同目录文件以A项目为主):

B项目配置:

         <plugin>  
            <groupId>org.apache.maven.plugins</groupId>  
            <artifactId>maven-war-plugin</artifactId>  
            <configuration>  
            <attachClasses>true</attachClasses>
             <classesClassifier>api</classesClassifier>     
            </configuration>  
        </plugin>

maven-jar-plugin插件install的时候既打WAR又打出jar包,classesClassifier配置方便找到jar包


maven-jar-plugin突然不行没有jar包了 用maven-war-plugin


A项目配置:引入war、warpath、jar依赖

	<dependency>
		<groupId>com.eversec.satanbox</groupId>
		<artifactId>health-web</artifactId>
		<version>3.0.0</version>
		<type>war</type>
	</dependency>
	 <dependency>
		<groupId>com.eversec.satanbox</groupId>
		<artifactId>health-web</artifactId>
		<version>3.0.0</version>
        <type>warpath</type>
    </dependency>
    
	<dependency>
		<groupId>com.eversec.satanbox</groupId>
		<artifactId>health-web</artifactId>
		<version>3.0.0</version>
		<type>jar</type>	
		<classifier>api</classifier>
	</dependency>
<!-- 		 <resources>  
        <resource>  
            <directory>src/main/resources</directory>  
            <includes>  
                <include>*.*</include>  
                <include>**/*.*</include> 
            </includes> 
            <filtering>true</filtering> 
        </resource> 
    </resources> -->
		<plugins>

            <plugin>  
                <groupId>org.apache.maven.plugins</groupId>  
                <artifactId>maven-war-plugin</artifactId>  
                 <version>2.1.1</version> 
                <configuration>  
                    <overlays>  
                        <overlay>  
                            <groupId>com.eversec.satanbox</groupId>  
                            <artifactId>health-web</artifactId> 
                        </overlay>  
                    </overlays>  
                     <webResources> 
                    <resource> 
                        <directory>src/main/webapp</directory> 
                        <includes> 
                            <include>*.*</include> 
                            <include>**/*.*</include>  
                        </includes>  
                        <filtering>true</filtering>  
                    </resource>  
                </webResources>  
                </configuration>  
            </plugin>
	     <plugin>
             <groupId>org.appfuse</groupId>
             <artifactId>maven-warpath-plugin</artifactId>
             <extensions>true</extensions>
<!--             <executions>
                <execution>
                     <goals>
                    <goal>add-classes</goal>
                    </goals>
                </execution>
            </executions> -->
         </plugin>

maven-war-plugin插件和maven-warpath-plugin插件。

注意在eclipse上运行可以使用class层代码(springMVC的control层代码也可以)

但是web资源(page页面之类的),需要在A项目上install 用war包在tomcat上运行。


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

如果仅仅只需要引入war包中的class文件,B项目还是如上配置,A中只需引入jar包即可。


mvn在打包时:如果存在父项目,会先从本地找父项目,找不到就会去配置的私服上找。可以配置多个maven,但是打包的时候只会去环境变量中配置的maven去找需要的jar,找不到就会报错哦。配置多个mirror镜像时【比如一个私服和一个指定类型加速mirror】,可以先屏蔽掉私服下载完jar,然后再恢复。[多个mirror的调用机制不太了解,我是用aliyun的mirror下载相关的springBoot jar]

如果项目a下存在maven module,maven 子项目的父项目是项目a,那他们相互依赖无法成功打包,可以将项目a中pom.xml中的maven module先屏蔽掉打包【只要本地或者私服有项目a的构建】,之后就可以正常打包项目a以及对应的maen module。



0
0
查看评论

maven打造可执行war包(超详细)

在开发java Web时,有时我们会使用嵌入式jetty来运行,项目完成后,如果能够直接运行war包从而启动jetty来运行war包那就非常完美了,本文将讲解如何在maven项目中整合jetty 9,并构造可执行的war包(打包前和打包后都能随时启动)。
  • u013668852
  • u013668852
  • 2017-04-07 15:39
  • 4233

maven 打jar包和war包

1.使用maven打jar包 1.1 打jar很简单的,只需要在pom.xml里面加一段插件代码即可 org.apache.maven.plugins maven-jar-plugin 2.4 ...
  • zy_281870667
  • zy_281870667
  • 2016-01-21 15:43
  • 2270

eclipse maven 打war包的两种方式

第一种:利用pom.xml文件打包。 右键pom.xml文件,选择Debug as或Run as 都行。但需要选择Maven install  打包  执行成功后,日志会打印出位置(看自己配置是否日志输出)。如果没有输出,在默认的C盘.m2文件夹中 第二...
  • u012586389
  • u012586389
  • 2017-03-28 14:05
  • 24356

手把手教你一个maven的war项目如何引用另外一个war项目

我们都知道一个war项目可以部署到服务器,pom文件里面可以引用许多依赖jar包。但是默认的都是jar类型的,如果一个大的web项目,分模块开发,我想一个war项目引用一个另外一个war项目的jap,css和.class文件,这个可以么???答案是肯定的,不过需要一些特殊的配置。需求知道了,好,直接...
  • lzh657083979
  • lzh657083979
  • 2017-10-16 20:46
  • 1234

Maven导war包

工作之余学习了搭建maven工程,导出war包时却是各种错误层出不穷!下面就分享下我导出war包的过程! 方法一:纯手动导出 首先要把项目整理好,然后去打war包 1、右键项目名,选择Maven4MyEclipse,选择Update Project Configuration ...
  • oXinLiang12
  • oXinLiang12
  • 2016-06-30 11:08
  • 3282

maven中jar和war的区别

jar文件包括java普通类、资源文件和普通文件,在maven中即是打包src/main/java和src/main/resources资源文件夹下的所有文件。在打包的时候会自动生成MATA-INF文件夹,用于存储maven的pom信息和MANIFEST.MF文件。例如: war文...
  • mafan121
  • mafan121
  • 2016-07-11 15:49
  • 12157

maven项目如何生成war文件

 配置 你的pom.xml文件,在你的overview视窗里 配置 packaging为 war 然后 然后点击 pom.xml右键,run  as 选择 install 或是 package 如果项目没问题,配置没问题 就会在项目的target 的目录里生成 war文件
  • jeff06143132
  • jeff06143132
  • 2015-11-03 15:26
  • 6445

maven生成war包的两种格式

http://touchfu.iteye.com/blog/545708 http://blog.sina.com.cn/s/blog_67e0655401016ipm.html  war包即对WEB应用程序进行打包,用于应用容器的部署。如在jboss中只要把war包丢入d...
  • zeng_84_long
  • zeng_84_long
  • 2012-09-24 17:38
  • 4180

Eclipse中的maven项目打war包

在对应的pom文件中,找到packing这个属性,改为war;如果没有,就自己加一个,这个是有默认值的,默认为jar。 例如: 4.0.0 com.xxx.yyy test-war war 1.0 配置 你的pom.xml文件,配置 packaging为 war ,然后点击 pom.xml右键,r...
  • liuzx32
  • liuzx32
  • 2013-07-04 12:28
  • 16491

Maven中如何配置WAR依赖WAR包

项目背景: 1.     war项目C和war项目B都依赖war项目A和JAR项目D. 项目A中保存了B和C项目通用的web资源,比如通用的javascript,CSS,jsp等. 项目D中保存了B和C项目中都依赖的一些class 2. &#...
  • kobejayandy
  • kobejayandy
  • 2012-11-03 16:34
  • 16002
    个人资料
    • 访问:43904次
    • 积分:859
    • 等级:
    • 排名:千里之外
    • 原创:41篇
    • 转载:21篇
    • 译文:0篇
    • 评论:1条