ant 因为依赖关系导致无法编译通过,无法生成部署用的war包
2016-11-07 09:14
357 查看
今天公司的配置管理员,发邮件给leader,说无法生成新的war包
仔细查看了邮件的内容
代码在IDE中是完全可以编译的。
用关键字 ant 编译 找不到符号 google,没有找到正确的解决方案
ant compile package not exists 再搜索, 使用ant -v 来查看编译的更详细输出。
在详细输出中,看到有这样的提示信息
只包含了代码的一个分支,另一个分支src\main\fgw,在编译的时候,没有包含进来,所以就在BaseJsonController和CheckDaoImpl这里出现了找不到符号的编译错误,查看项目中ant的build文件中的编译输出的相关部分:
认为这里是错误的,在编译的时候,是顺序执行的,如果在分支fgw中增加了一些功能,而在分支trunk中引用新增的功能后,编译在检查依赖时出现了错误。修改为:
这样ant在编译时,加入了依赖关系的检查,编译通过,并生成了相应的部署包
仔细查看了邮件的内容
[javac] F:\project\src\main \project\com\info\trunk\web\controller\BaseJsonController.java:6: 软件包 com. info.fgw.web.controller 不存在 [javac] import com.info.fgw.web.controller.BaseJsonLoggerController; [javac] ^ [javac] F:\project\src\main \project\com\info\trunk\web\controller\BaseJsonController.java:33: 找不到符号 [javac] 符号: 类 BaseJsonLoggerController [javac] public abstract class BaseJsonController extends BaseJsonLoggerController [javac] F:\project\src\main\project\com\info\invest\dao\check\CheckDaoImpl.java:5: 软件包 com.info.fgw.util.rptrule 不存在
代码在IDE中是完全可以编译的。
用关键字 ant 编译 找不到符号 google,没有找到正确的解决方案
ant compile package not exists 再搜索, 使用ant -v 来查看编译的更详细输出。
在详细输出中,看到有这样的提示信息
[javac] '-sourcepath' [javac] 'F:\project\src\main\project' [javac] '-encoding' [javac] 'UTF-8' [javac] '-g'
只包含了代码的一个分支,另一个分支src\main\fgw,在编译的时候,没有包含进来,所以就在BaseJsonController和CheckDaoImpl这里出现了找不到符号的编译错误,查看项目中ant的build文件中的编译输出的相关部分:
<macro-compile srcdir="${main.src.dir.trunk}" destdir="${main.classes.dir}" classpathref="main.compile.classpath"/> <macro-compile srcdir="${main.src.dir.fgw}" destdir="${main.classes.dir}" classpathref="main.compile.classpath"/>
认为这里是错误的,在编译的时候,是顺序执行的,如果在分支fgw中增加了一些功能,而在分支trunk中引用新增的功能后,编译在检查依赖时出现了错误。修改为:
<macro-compile srcdir="${main.src.dir.trunk};${main.src.dir.fgw}" destdir="${main.classes.dir}" classpathref="main.compile.classpath"/>
这样ant在编译时,加入了依赖关系的检查,编译通过,并生成了相应的部署包
相关文章推荐
- samba无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系 - playerboy
- debug私钥过期导致eclipse无法重编译生成apk
- 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
- 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
- robotium 在有源代码的情况下 写测试用例无法编译通过,生成apk。
- 使用Ant构建web项目 从编译到测试 生成测试报告 打包 邮件发送 远程下载tomcat 部署运行一条龙服务之ant脚本
- E:无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
- 解决:Android编译源码根目录下/system/vold后,通过push命令将编译生成的vold文件push至system/bin下无法正常开机
- 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系 解决办法
- [编译环境][make]自动生成依赖关系
- E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
- C++中依赖受限名称定义编译无法通过的问题
- 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
- Visual Studio2013(Update4)无法生成依赖项关系图解决方案
- debug私钥过期导致eclipse无法重编译生成apk
- vs 2008的工程编译的manifest文件导致程序无法运行,通过设置 /MANIFESTDEPENDENCY (Specify Manifest Dependencies) 解决
- 使用Grand生成ANT的Target依赖关系图
- ANT脚本编译成功的WAR包在部署WebSphere的时候遇到问题
- VS2010 clickonce发布错误:因为某项目未能生成,所以无法发布 非签名问题导致产生的错误
- eclipse因为js validator无法通过导致build workspace失败