【问题标题】:Regarding cross complitaion in java关于java中的交叉编译
【发布时间】:2014-07-15 15:22:56
【问题描述】:

我的项目需要在 jdk 1.5 上构建,现在我正在使用 jdk 1.7 你能告诉我应该添加的命令行参数吗,以便我的java项目 在 jdk 1,5 本身上编译和构建我仍然使用 jdk 1.7 我尝试过的是......

javac -source 1.5 -target 1.7

我在下面收到此错误..

    [Step 1/2] Ant output
[12:52:04][Ant output] Error: Could not find or load main class javac

我最关心的是我的 teamcity 服务器在 jdk 1.7 上运行,我的项目应该在 jdk 1.5 上构建,因此在 teamcity 中,我们可以指定外部命令行参数,以便在 jdk .1.5 上显式运行代码,请指教

【问题讨论】:

  • 要在 1.5 下运行,target 应该是 1.5。不幸的是 source 因为版本之间的差异太大。事实上,您应该使用 JDK 1.5 进行编译。例如,在以后的版本中,zip API 有一个额外的编码参数。

标签: java teamcity


【解决方案1】:

如果您拥有 Java 5.0 javac,那么您只能构建 Java 5.0 源代码。编译后,此代码可以在 Java 5.0 或 Java 7 或 Java 9 上运行

我怀疑默认命令行选项是你想要的,如果不是,你将不得不升级你的 JDK。

【讨论】:

  • 我正在使用 jdk 1.7,请您在我的构建过程中建议我想通过使用 jdk 1.65 来构建它,我该如何指定这个
  • 你的意思是1.6.0_05吗?没有1.65。 1.6.0_05 真的很旧,所以我建议更新您的 Java 6 版本。为特定版本的 Java 构建最可靠的方法是使用该版本的 JDK。您可以尝试使用这些版本,但这不会阻止您使用添加到较新版本的类或方法,您也可以指定类路径,但是当您这样做时,它会简单得多使用真实版本。
猜你喜欢
  • 1970-01-01
  • 2011-08-20
  • 2021-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-26
  • 1970-01-01
相关资源
最近更新 更多