【问题标题】:dependency (for sun.security.util) of SBT buildSBT 构建的依赖项(对于 sun.security.util)
【发布时间】:2015-05-18 15:18:50
【问题描述】:

我正在使用SBT 来构建我的Scala 项目。我的项目中还有Java 代码。

当我运行构建时,我不断收到以下错误:

错误:sun.security.util 包不存在 [错误] 导入 sun.security.util.ObjectIdentifier;

了解需要声明对sun.security.util的依赖,但是不知道应该依赖什么依赖?

我的 build.sbt 包含:

libraryDependencies ++= Seq("org.springframework" % "spring-dao" % 2.0.8",)

我的 JDK 版本是“1.7.0_25”。我需要使用sun.security.util 包。这个link 表示在JDK 中不保证。如何声明依赖项以使其工作?我的意思是,我应该添加的依赖项的名称是什么?

【问题讨论】:

  • 在什么 JDK/JVM 上编译此代码?也许将javac -versionjava -version 的输出添加到问题中。
  • 这个类属于 JDK,但你通常不应该手动依赖它(参见oracle.com/technetwork/java/faq-sun-packages-142232.html)。你为什么首先使用它?
  • 你的意思是你的代码没有引用sun.security.util.ObjectIdentifier 本身?你能在某处复制这个问题吗?
  • 如果您可以添加一些有关如何重现此内容的代码,我认为它会更容易为您提供帮助。
  • 我认为要在这里获得帮助,您必须共享您正在尝试构建的项目的最小化版本。尝试从构建中尽可能多地丢弃(源代码、依赖项、使用的插件)(但问题仍然存在)并分享,以便我们找出导致问题的原因。

标签: java scala sbt


【解决方案1】:

sun.* 中的包不能保证在任何地方都能正常工作。因此,不建议使用这些包,除非运行您的代码的 JVM 在您的控制之下。

查看http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html了解更多信息。

【讨论】:

    【解决方案2】:

    sun.security.util来自JDK,所以你不需要在你的build.sbt文件中添加依赖。

    检查您的环境。

    这是我的环境,效果很好。


    javac -version
    javac 1.7.0_71


    java -version
    java version "1.7.0_71" Java(TM) SE Runtime Environment (build 1.7.0_71-b14) Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)


    scalac -version
    Scala compiler version 2.10.4 -- Copyright 2002-2013, LAMP/EPFL


    scala -version
    Scala code runner version 2.10.4 -- Copyright 2002-2013, LAMP/EPFL

    【讨论】:

    • 我的问题是虽然我有环境,但是当我构建 SBT 时,我得到了错误:包 sun.security.util 不存在。这是为什么?我知道它应该是 JDK 的一部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-24
    • 1970-01-01
    • 2017-11-07
    • 2018-03-20
    • 2019-04-02
    • 1970-01-01
    相关资源
    最近更新 更多