错误overlay id is not a dependency project原因分析
之前按下面配置,一直会报标题中错误,有的同学说改成<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原因分析的更多相关文章
- 在Android library中不能使用switch-case语句访问资源ID的原因分析及解决方案
转自:http://www.jianshu.com/p/89687f618837 原因分析 当我们在Android依赖库中使用switch-case语句访问资源ID时会报如下图所示的错误,报的错误 ...
- SQL Server 磁盘请求超时的833错误原因分析以及解决
本文出处:http://www.cnblogs.com/wy123/p/6984885.html 最近遇到一个SQL Server服务器响应极度缓慢,并且出现客户端请求报错的情况,在数据库中的erro ...
- VC++ MFC单文档应用程序SDI下调用glGenBuffersARB(1, &pbo)方法编译通过但执行时出错原因分析及解决办法:glewInit()初始化的错误
1.问题症状 在VC++环境下,利用MFC单文档应用程序SDI下开发OpenGL程序,当调用glGenBuffersARB(1, &pbo)方法编译通过但执行时出错,出错代码如下: OpenG ...
- MySQL This function has none of DETERMINISTIC, NO SQL...错误1418 的原因分析及解决方法
MySQL开启bin-log后,调用存储过程或者函数以及触发器时,会出现错误号为1418的错误: ERROR 1418 (HY000): This function has none of DETER ...
- loadFileSystems error & ExceptionUtils错误原因分析
loadFileSystems error & ExceptionUtils错误原因分析 一见 2014/5/7 C/C++程序通过hdfs.h访问HDFS,运行时遇到如下错误,会是什么原因了 ...
- “undefined reference to JNI_GetCreatedJavaVM”和“File format not recognized”错误原因分析
"undefined reference to JNI_GetCreatedJavaVM"和"File format not recognized"错误原因分析 ...
- 从软件project的角度写机器学习3——主要监督学习算法的project性分析
主要机器学习算法的project适用性分析 前段时间AlphaGo跟李世石的大战及相关的深度学习的新闻刷了一遍又一遍的朋友圈.只是这件事情,也仅仅是在机器学习的深度上进一步拓展,而机器学习的广度(也即 ...
- tomcat项目迁移,无法访问,报“404”错误,原因分析
首先,导出项目文件和MySQL数据库(项目文件直接tar&&cp:数据库直接mysqldump生成sql文件) 再,进行导入步骤,项目文件拷贝到webapps下,并赋予bin相关文件执 ...
- 诊断并解决 ORA-4030 错误 (Doc ID 1548826.1)
适用于: Oracle Database - Enterprise Edition - 版本号 8.1.7.4 和更高版本号 本文档所含信息适用于全部平台 用途 怎样诊断 ORA-4030 错误 排错 ...
随机推荐
- jqGrid通用编辑规则
一个将数据显示在grid中主要的原因是为了快速容易的编辑它,jqGrid支持3种编辑方法 jqGrid单元格编辑配置,事件及方法::编辑表格中的单元格 jqGrid行编辑配置:同时编辑一行中的多个单元 ...
- Oracle中用户的基本操作
创建用户 1.首先登陆到系统用户sys(sys用户具有创建用户的权限). 2.然后在代码编辑框写入创建用户的代码. 语法:CREATE USER user_name IDENTIFIED BY pas ...
- mysql qps tps计算
Information from web QPS (Query per second) (每秒查询量)TPS(Transaction per second) (每秒事务量,如果是InnoDB会显示,没 ...
- Java jdbc 连接oracle
import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.S ...
- lighttpd与fastcgi+cgilua原理、代码分析与安装
原理 http://www.cnblogs.com/skynet/p/4173450.html 快速通用网关接口(Fast Common Gateway Interface/FastCGI)是通用网关 ...
- UE4中使用数据表(Data Table)
本文依据官方文档数据驱动游戏性元素整理而来. 做过游戏的应该都清楚,如果游戏稍微有点规模,那么使用数据驱动来做游戏一般是必不可少的一步,一般也就是策划通过本表的方式来解决.下面我们来简单说一下UE4中 ...
- grep 常用参数详解
grep常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 刚刚和同事打完球,虽然自己输了~不过也蛮好玩的,好久没有玩过乒乓球啦,话说你喜欢玩乒乓球吗?好啦,话不多说说,让 ...
- Java 之 List<T> 接口的实现:LinkedList
Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap 隶属于队列Lis ...
- Java使用占位符拼接字符串
大家知道,在C#编程中,可以用占位符来拼接字符串,用起来非常的方便. 特别是需要进行大量的参数拼接的时候,比如: Console.WriteLine(String.Format("该域名{0 ...
- Java关于md5+salt盐加密验证
一.陈述一下工作流程: 1.根据已有的密码字符串去生成一个密码+盐字符串,可以将盐的加密字符串也存放在数据库(看需求), 2.验证时将提交的密码字符串进行同样的加密再从数据库中取得已有的盐进行组合密码 ...