文档章节

Ant编译java项目时无法导入rt.jar中的类

 剧终人散
发布于 2015/07/23 14:55
字数 313
阅读 105
收藏 0

     最近在使用ant做打包时发现,在引用 com.sun.org.apache.xml.internal.security.utils.Base64 类时,无法编译通过,但是在eclipse中却可以正常编译。

     以下是在使用ant打包时报错部分。

 [javac] [正在装入 com\eos\data\datacontext\IUserObject.class(com\eos\data\datacontext:IUserObject.class)]
    [javac] E:\build\java\com\bos\rca\ccd\app\approve\pycredit\PycreditPersonalComponent.java:36: 软件包 com.sun.org.apache.xml.internal.security.utils 不存在
    [javac] import com.sun.org.apache.xml.internal.security.utils.Base64;
    [javac]

      后在漫长的搜索中,发现有网友提出:javac在编译代码时,当他尝试从rt.jar中找寻对应的类文件时,他会默认从对应的符号表文件ct.sym (同样在jre/lib/下)中查找该类是否存在,由于ct.sym中有意或无意的遗失了部分rt.jar中的类,包括我使用的com.sun.org.apache.xml.internal.security.utils.Base64,因此导致编译报错。

     解决方法就是通知javac编译器,在编译代码时,忽略该符号表ct.sym, 直接查找rt.jar,通过给javac传入对应的参数完成:-XDignore.symbol.file

     

<!--编译当前扩展的task类-->
<javac fork="no" encoding="UTF-8" executable="${JAVA_HOME}/bin/javac" memoryMaximumSize="1024m" 
source="${javac_source_version}" target="${javac_target_version}" 
destdir="E:/build/bin" debug="on" nowarn="on" deprecation="on" verbose="yes">
	<classpath refid="compile_classpath" />
  	<compilerarg value="-XDignore.symbol.file"/>
	<src path="E:/build/java" />
</javac>



本文转载自:http://blog.csdn.net/lday/article/details/18705837

共有 人打赏支持
粉丝 0
博文 8
码字总数 2205
作品 0
浦东
私信 提问
Eclipse导入Tomcat源码

最近有了看源码的冲动,刚把jvm虚拟机规范看了一遍,想借着看tomcat源码的机会,顺便实操下jvm虚拟机的一些东西,这样就有了搭建tomcat源码运行环境的念头。对着http://www.cnblogs.com/huan...

彭苏云
2014/04/29
0
0
Eclipse导入Tomcat源码

想要研究下Tomcat的体系结构或者源码,最好将Tomcat的源码导入到ide中,编写实例进行代码跟踪(debug)。 这里参考了网上一些资料,将自己操作过程记个流水账。 准备: 1.Tomcat源码下载 这个...

jxlgzwh
2014/05/24
0
0
Android Gradle(一)为什么现在要用Gradle?

前言 又要开启一个新系列了,这个系列我们来学习Gradle,它是一个基于JVM的新一代构建工具,关于Gradle完全可以写一本书,这个系列会针对Android开发来对Gradle的知识进行精简讲解。Gradle目...

刘望舒
2018/08/21
0
0
以编程方式调用 Apache Ant

Apache Ant 是一个基于 Java 的开放源代码构建实用工具。人们常把它与 Make 进行比较,Make 长期以来一直用于帮助自动完成构建过程。经过不同版本的改进,Ant 已发展成一个丰富的功能库,使其...

IBMdW
2012/01/04
441
0
将tamcat7源码导入eclipse中

在网上看了很多的教程,总算弄好了,贴出来给大家分享一下 首先到ant官网http://ant.apache.org/bindownload.cgi下载ant工具然后随便解压到某个目录,将ant目录中的bin目录添加到环境变量pat...

那位先生
2015/02/12
0
4

没有更多内容

加载失败,请刷新页面

加载更多

驰骋工作流引擎 -CCBPM如何自动升级

关键词:工作流引擎自动升级 工作流自动升级 升级步骤设置 1,CCBPM把更新分成三类, 应用程序代码更新、数据表结构更新、数据更新。 2,CCBPM在您登录流程设计器时自动判断当前的版本与数据库...

孟娟
16分钟前
0
0
socket套接字是什么

什么是 socket? socket 的原意是“插座”,在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算...

群星纪元
17分钟前
0
0
什么是TensorBoard?

前言 只有光头才能变强。 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 回顾前面: 从零开始学TensorFlow【01-搭建环境、HelloWorld篇】 什么是TensorFlow?...

Java3y
26分钟前
4
0
驰骋工作流引擎 -CCBPM如何自动升级

关键词:工作流引擎自动升级 工作流自动升级 升级步骤设置 1,CCBPM把更新分成三类, 应用程序代码更新、数据表结构更新、数据更新。 2,CCBPM在您登录流程设计器时自动判断当前的版本与数据库...

ccflow周朋
28分钟前
0
0
sass和less的优缺点

简述 sass和less都是css的预编译处理语言,他们引入了mixins,参数,嵌套规则,运算,颜色,名字空间,作用域,JavaScript赋值等 加快了css开发效率,当然这两者都可以配合gulp和grunt等前端构...

莫西摩西
50分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部