【问题标题】:Compiling old 1.4 java code in java 1.6 using ANT使用 ANT 在 java 1.6 中编译旧的 1.4 java 代码
【发布时间】:2014-04-29 04:10:51
【问题描述】:

您好,我正在尝试使用 ant 编译 1.6 java 版本的旧 java 项目,但出现以下错误。

>  package com.sun.rsasign does not exist
>     [javac] import com.sun.rsasign.t;
> 
>         
>         cannot find symbol
>         [javac] symbol  : class Base64Encoder
>         [javac] location: package base64
>         [javac] import base64.Base64Encoder;
>     cannot find symbol
>         [javac] symbol  : variable Base64Encoder

您能帮我解决问题吗? 另外请不要说我正在使用相同的 ANT 构建两个不同的项目,构建一个基于 1.6 JAVA,而这是基于 1.4 JAVA。 我能够编译 1.6 JAVA 项目,但卡在 1.4 JAVA 项目编译中。

【问题讨论】:

  • 项目使用内部sun API。现在可能没了。即使你设法编译它,你也需要旧的 Java 来运行它。

标签: java ant


【解决方案1】:

这不是编译期间版本的问题。这是由于缺少包裹。 Classpath 没有com.sun.rasign 包和Base64Encoder 类文件

注意:当您尝试使用 Java 1.6 编译器编译 Java 1.4 源代码时。当对 Java API 进行任何更改时,您可能会遇到问题。

见@Leos Literak 评论,非常有用。

【讨论】:

  • 是的,我知道,但现在如何解决这个问题? Base64Encoder 和 rasign 出现 3 个错误,我猜这已包含在 1.4 中,现在已弃用/不包含在 1.6 中
  • 对 Base64Encoder 使用 apache-commons 编解码器并更新您的代码
  • 我下载并使用了 apache common codec 1.9 但仍然是同样的问题...不工作:(
  • 你必须修改源代码并重写它以使用其他实现。
  • @user3134221 您必须再次重写代码才能使其在 Java 1.6 上运行
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-28
  • 2012-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多