Maven3 BUG集锦

BUG集锦:
(若发现执行失败,却没有出错信息,可重新执行一次!)
有问题 先 google,后 baidu ! 
Stock 项目:OrderReceipt.java 
此文件使用的编码为 GBK,导致编译失败。
为了预防类似的错误,提供一份 MyEclipse 优化配置 《MyEclipse优化配置方法.doc》 
Stock 项目:OrderManager.java 含有非法字符:

使用 notepad++ 工具打开之后,发现该文件格式为 UTF-8 (含BOM)格式,

有可能是由于使用 UltraEdit 工具时,默认的文件格式导致。 
在此推荐 notepad++ 小工具,和 UltraEdit差不多,功能比较少些,可用此工具编辑修改文本文件。 



[ERROR] \workspace62\travelhubpkgstock\TravelHubPkgStock\src\logic\com\travelsky\tdp\pkgStock\logic\power\manager\impl\PowerManagerImpl.java:[1,0] 非法字符: \65279

文件编码导致,由 UTF-8(含BOM) --> UTF-8(不含BOM) 

[ERROR] \workspace62\travelhubpkgstock\TravelHubPkgStock\src\present\com\travelsky\tdp\pkgStock\view\stockalarm\StockAlarmAction.java:[67,0] 非法的表达式开始 
[ERROR] \workspace62\travelhubpkgstock\TravelHubPkgStock\src\present\com\travelsky\tdp\pkgStock\view\rule\RuleAction.java:[75,0] 非法的表达式开始 
[ERROR] \workspace62\travelhubpkgstock\TravelHubPkgStock\src\present\com\travelsky\tdp\pkgStock\view\sys\SysPublishAction.java:[62,0] 非法的表达式开始 
[ERROR] \workspace62\travelhubpkgstock\TravelHubPkgStock\src\present\com\travelsky\tdp\pkgStock\view\action\ChangePasswordAction.java:[45,0] 非法的表达式开始 
[ERROR] \workspace62\travelhubpkgstock\TravelHubPkgStock\src\present\com\travelsky\tdp\pkgStock\view\travelb2b\StockHotelBlockAction.java:[49,0] 非法的表达式开始 
[ERROR] \workspace62\travelhubpkgstock\TravelHubPkgStock\src\present\com\travelsky\tdp\pkgStock\view\travelb2b\DepartmentsAction.java:[62,0] 非法的表达式开始






很有可能是源码路径漏掉导致:
 


告警2号: [WARNING] Warning: selected war files include a WEB-INF/web.xml which will be ignored (webxml attribute is missing from war task, or ignoreWebxml attribute is specified as 'true') 解决方法: 
Xml代码 

  1. <plugin>
  2. <groupId>org.apache.maven.plugins</groupId>
  3. <artifactId>maven-war-plugin</artifactId>
  4. <version>2.1.1</version>
  5. <configuration>
  6. <packagingExcludes>WEB-INF/web.xml</packagingExcludes>
  7. </configuration>
  8. </plugin>

关于告警2,附带一提,很多时候会有将多个war合并成一个war的场景,这是用的是overlays选项,但是只有一个maven项目的web.xml会最终生效 所以其他的maven项目中可以不放web.xml,但是对于packaging类型是war的maven工程,默认是必须要有web.xml的,这时候可以使用以下配置: 
Xml代码 

  1. <plugin>
  2. <groupId>org.apache.maven.plugins</groupId>
  3. <artifactId>maven-war-plugin</artifactId>
  4. <configuration>
  5. <failOnMissingWebXml>false</failOnMissingWebXml>
  6. </configuration>
  7. </plugin>

warSourceExcludes是在编译周期进行完成后从src/main/webapp目录复制文件时忽略,而packagingExcludes是在复制webapp目录完成后打包时忽略target/mywebapp-1.0.4 文件夹的文件

猜你喜欢

转载自konglx.iteye.com/blog/1860992