gpt4 book ai didi

scala - 在IntelliJ IDEA中使用Scala中的Joda Time(scalaj-time)

转载 作者:行者123 更新时间:2023-12-03 08:18:45 24 4
gpt4 key购买 nike

编辑:

截至2013年1月27日的版本信息:

Scala 2.10.0
IntelliJ IDEA Leda 123.139 (EAP)
Scala Plugin version 0.7.108 (Nightly Build)
JDK 7u11
Joda Time 2.1
ScalaJ-Time 2.9.1-0.6

我没有尝试使用SBT,因为我没有看到任何进展-我不确定如何将IntelliJ和SBT结合起来,经过数小时的尝试,我终于回到了我最初开始的地方。

我的JodaTime库包含Scalaj-Time jar:

我尝试了几乎所有设置组合,从联合编译(首先是Scala,然后是Java和vv),外部构建,到将我的JodaTime库移到依赖关系上的Scala库上(是的,我什至做到了),使缓存无效。我得到的只是一堆错误-随机产生的错误-无论是“使”项目,“运行”当前文件还是“编译”该项目。而且,有时它会起作用。是的,听起来很愚蠢,但行为没有定义。我不确定是什么原因造成的。我已经计算了出现的3种不同的错误消息,我将它们上传到pastie.org,否则将占用太多空间:http://pastie.org/pastes/5887847/text

我没有尝试过的东西:回到上述任何应用程序/库的较早版本,深入研究SBT(我认为这是不值得的)。

我对这个线程有什么期望?我希望有人为这个问题提供一个可靠的解决方案,在最佳情况下,它将不会提及SBT(可选)。

另外,还有一个注释:为什么Joda-Time会以一种残缺的格式运送他们的图书馆?每个人背后都应该知道这个秘密吗?将FromString包含在发行版本中是什么问题? (我仍然认为这是全部原因)

问候,
丹耶尔

原始帖子:(您可以忽略这一点)

我拥有IntelliJ(123.139),Scala 2.10.0的最新版本,并且到目前为止没有遇到任何问题。

我渴望使用Joda Time,而不是使用Java时间库,并且看到Scala中有很多隐式变量可供使用,我想尝试一下!我添加了所有库,但是隐式将无法识别。当我尝试通过IDEA弹出菜单进行编译时,出现以下错误:

error while loading DateTime, class file '~\workspace\Libraries\JodaTime\joda-time-2.1.jar(org/joda/time/DateTime.class)' is broken
(class java.lang.RuntimeException/bad constant pool tag 10 at byte 42)
error while loading DateTimeZone, class file '~\workspace\Libraries\JodaTime\joda-time-2.1.jar(org/joda/time/DateTimeZone.class)' is broken
(class java.lang.RuntimeException/bad constant pool tag 7 at byte 44)
error while loading AbstractInstant, class file '~\workspace\Libraries\JodaTime\joda-time-2.1.jar(org/joda/time/base/AbstractInstant.class)' is broken
(class java.lang.RuntimeException/bad constant pool tag 10 at byte 10)


我去了那些 DateTime的来源,发现 org.joda.convert.FromString;是导入的,但是资源不存在!我猜是因为这个原因,Scala无法编译。因此,我用谷歌搜索了该怎么做。到处都显示“ SBT,SBT !!”,我试图找出这个SBT是什么,所以我安装了它: http://www.scala-sbt.org/中的0.12.2版,手动安装(我正在使用Windows 7)。我希望它与我的IntelliJ一起运行,所以我去了 ~\.sbt\plugins,用 build.sbt行创建了一个文件 addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.2.0"),并从 https://github.com/mpeltonen/sbt-idea下载了zip,将其解压缩,并使用CMD转到了那个文件夹,在sbt中输入 sbtgen-idea,它做了很多事情,似乎都可以解决。因此,我进入了要与Joda Time一起运行的项目,首先,将Scala 2.10.0包含到SBT中似乎非常困难。我创建了一个文件 <PROJECT>\build.sbt并用以下几行填充:

name := "Project"

version := "1.0"

scalaHome := Some(file("C:/Program Files (x86)/scala"))

scalaVersion := "2.10.0"


然后,为了包含scalaj时间,我去了 <PROJECT>\project\project\并用行 build.sbt创建了 libraryDependencies += "org.scalaj" %% "scalaj-time" % "0.6"

最后,我用CMD进入 ,输入“ sbt”,它(下载)加载了很多文件,看起来好像可以了,然后我输入了 gen-idea,一切都很好。

我打开IntelliJ,就可以轻松地打开项目。当我打开项目结构时,我进入了模块,其中有两个模块: ProjectProject-build。我忽略了项目构建版本,单击“项目”模块,然后有很多不存在的源文件夹和测试文件夹: src/main/scala等,我将它们全部删除,并将我的 src添加为源文件夹。

我注意到外部库中未包含Joda-Time(顺便说一句,我使用的是Joda-Time 2.1和Scalaj-time 0.6),所以我不得不自己添加它们。 joda-time库是.jar,而scalaj-time是文件夹,但这应该没问题吧?我可以运行一个简单的 println( DateTime.now )指令(我之前不知道是否有可能;没有尝试过),但是 + 2.months仍然是不可能的。这是一个屏幕截图,您可以了解一下:



我想我已经详细解释了我如何进行,希望您能找到我做错的事情。我已经工作了许多小时来解决这个问题,但是最后,我降落到了开始时的原位...

感谢您的时间!

问候!

最佳答案

How to import FromString for joda-time?

这就像一个魅力一样工作(目前,他知道事情将如何发展)。我非常生气,以至于我一开始都没有想到这一点……Grrrrr。

关于scala - 在IntelliJ IDEA中使用Scala中的Joda Time(scalaj-time),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14536513/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com