码迷,mamicode.com
首页 > 其他好文 > 详细

错误overlay id is not a dependency project原因分析

时间:2016-06-04 22:03:19      阅读:1161      评论:0      收藏:0      [点我收藏+]

标签:

之前按下面配置,一直会报标题中错误,有的同学说改成<overlay><id></id></overlay>就可以了,然而我这里竟然错误依旧。

奇怪的是间隔了一段时间之后,现在无论哪种方式都不报错误了。

配置如下

1.

<dependency>
<groupId>cn.bsdn</groupId>
<artifactId>yandz-cn-web</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>war</type>
</dependency>

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>${maven.compiler.encoding}</encoding>
<source>1.6</source>
<target>1.6</target>
<overlays>
<overlay>
<groupId>cn.bsdn</groupId>
<artifactId>yandz-cn-web</artifactId>
</overlay>
</overlays>

</plugin>

但是在报错时候,查看了project的properties下Deployment Assembly选项中可以看到项目yandz-cn-web,但是在Project References选项中没有看到yandz-cn-web被勾选。

目前:Deployment Assembly选项和Project References选项中都可以看到对项目yandz-cn-web的依赖。

结论:maven-war-plugin其实仍然是在原本eclipse项目依赖理论基础上实现的,只不过插件默认帮你完成了项目之间的依赖操作而已,期初的报错应该是插件下载问题导致的。

 2.其它,顺便解释下下面两个属性用途

2.1)<attachClasses>true</attachClasses>在使用maven-war-plugin打包是会将classes中的文件打包成jar并发布到maven库中,生成的war和不配置该属性时一样。

2.2)<archiveClasses>true</archiveClasses>在使用maven-war-plugin打包是会将classes中的文件打包成jar不发布maven库,但会放入生成war包的lib目录中,当然classes就会为空了。

2.3)  <overlay><id>yandz-cn-web</id></overlay>作用是将依赖的war类型项目中内容 生成到所打的war包中,项目中的classes文件会以jar形式引入,其它内容会合并到war目录。

错误overlay id is not a dependency project原因分析

标签:

原文地址:http://www.cnblogs.com/navigate/p/5559547.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!