之前按下面配置,一直会报标题中错误,有的同学说改成<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目录。

3.maven插件作用觉悟

很早就知道maven有运行周期、阶段Phase、目标goal、插件plugin等概念,maven支持自定义插件开发,也已经很多插件,也用过一些插件比如生成源码包,也看到过别人写的插件源码,但一直对开发插件懵懵懂懂,主要也没有这方面的需求引起思考,刚才又好奇这个问题,到底开发那么多插件有啥用呢,于是乎又看了下网上插件入门的helloword的例子,突然明白原来自定义插件就是为了在maven执行某些命令时 做一些自己现有插件不能做到而又想做的事情,比如在用maven-war-plugin可以生成war,如果我想在生成war中额外添加一个特殊的动态文件,并且是该插件正常执行时不能产生的文件,那么就可以通过自定义插件实现了。

错误overlay id is not a dependency project原因分析的更多相关文章

  1. 在Android library中不能使用switch-case语句访问资源ID的原因分析及解决方案

    转自:http://www.jianshu.com/p/89687f618837 原因分析   当我们在Android依赖库中使用switch-case语句访问资源ID时会报如下图所示的错误,报的错误 ...

  2. SQL Server 磁盘请求超时的833错误原因分析以及解决

    本文出处:http://www.cnblogs.com/wy123/p/6984885.html 最近遇到一个SQL Server服务器响应极度缓慢,并且出现客户端请求报错的情况,在数据库中的erro ...

  3. VC++ MFC单文档应用程序SDI下调用glGenBuffersARB(1, &pbo)方法编译通过但执行时出错原因分析及解决办法:glewInit()初始化的错误

    1.问题症状 在VC++环境下,利用MFC单文档应用程序SDI下开发OpenGL程序,当调用glGenBuffersARB(1, &pbo)方法编译通过但执行时出错,出错代码如下: OpenG ...

  4. MySQL This function has none of DETERMINISTIC, NO SQL...错误1418 的原因分析及解决方法

    MySQL开启bin-log后,调用存储过程或者函数以及触发器时,会出现错误号为1418的错误: ERROR 1418 (HY000): This function has none of DETER ...

  5. loadFileSystems error & ExceptionUtils错误原因分析

    loadFileSystems error & ExceptionUtils错误原因分析 一见 2014/5/7 C/C++程序通过hdfs.h访问HDFS,运行时遇到如下错误,会是什么原因了 ...

  6. “undefined reference to JNI_GetCreatedJavaVM”和“File format not recognized”错误原因分析

    "undefined reference to JNI_GetCreatedJavaVM"和"File format not recognized"错误原因分析 ...

  7. 从软件project的角度写机器学习3——主要监督学习算法的project性分析

    主要机器学习算法的project适用性分析 前段时间AlphaGo跟李世石的大战及相关的深度学习的新闻刷了一遍又一遍的朋友圈.只是这件事情,也仅仅是在机器学习的深度上进一步拓展,而机器学习的广度(也即 ...

  8. tomcat项目迁移,无法访问,报“404”错误,原因分析

    首先,导出项目文件和MySQL数据库(项目文件直接tar&&cp:数据库直接mysqldump生成sql文件) 再,进行导入步骤,项目文件拷贝到webapps下,并赋予bin相关文件执 ...

  9. 诊断并解决 ORA-4030 错误 (Doc ID 1548826.1)

    适用于: Oracle Database - Enterprise Edition - 版本号 8.1.7.4 和更高版本号 本文档所含信息适用于全部平台 用途 怎样诊断 ORA-4030 错误 排错 ...

随机推荐

  1. springMVC中利用model在JSTL进行回填值

    1.ringMVC中利用model回填值 后台中,利用model返回值,如 model.addAttribute("MS_info" , MS_info); 前台回填值: text ...

  2. rac one node在线relocation

    1.查看数据库运行状态 $ srvctl status database -d rone Instance rone_2 is running on node rone2 Online relocat ...

  3. iptables rule

    和H3C中的acl很像,或者就是一会事,这就是不知道底层的缺陷,形式一变,所有的积累都浮云了 参考准确的说copy from http://www.ibm.com/developerworks/cn/ ...

  4. Netty之有效规避内存泄漏

    有过痛苦的经历,特别能写出深刻的文章 —— 凯尔文. 肖 直接内存是IO框架的绝配,但直接内存的分配销毁不易,所以使用内存池能大幅提高性能,也告别了频繁的GC.但,要重新培养被Java的自动垃圾回收惯 ...

  5. Linux:挂载外部U盘,移动数据

    背景: 我自己电脑连网采用拨号上网方式,为了把自己的虚拟机中的服务器ip域本机设置为一个局域网,而且ip固定下来,虚拟机网络连接采用了桥接方式.所以也导致了虚拟机内部没法连接外网.(不过可以通过在虚拟 ...

  6. 6.能够使HTML和PHP分离开使用的模板

    Smarty,Dwoo,TinyButStrong,Template Lite,Savant,phemplate,XTemplate

  7. paper 102:极限学习机(Extreme Learning Machine)

    原文地址:http://blog.csdn.net/google19890102/article/details/18222103   极限学习机(Extreme Learning Machine) ...

  8. 常见Oracle HINT的用法

    1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_I ...

  9. openDatabase() chrome vivaldi Stylish

    located at /Users/ruili/Library/Application Support/Vivaldi/Default/databases/ Databases.db contains ...

  10. tcp粘包,udp丢包

    TCP是面向流的, 流, 要说明就像河水一样, 只要有水, 就会一直流向低处, 不会间断. TCP为了提高传输效率, 发送数据的时候, 并不是直接发送数据到网路, 而是先暂存到系统缓冲, 超过时间或者 ...