【问题标题】:Orbeon Forms - Compile error in IntelliJ IDEA - util.TryOrbeon Forms - IntelliJ IDEA 中的编译错误 - util.Try
【发布时间】:2014-11-20 00:12:47
【问题描述】:

我正在尝试在 IntelliJ IDEA 14.0.1 社区版中编译 Orbeon 表单,但出现编译错误。

  1. 检查了分支 origin/4.7-ce
  2. 使用 IntelliJ 打开项目
  3. 出错:加载错误:未定义的路径变量。 MESSAGE 未定义。 Fix it
  4. 通过输入 C:\temp 作为值修复了 MESSAGE 错误。我不知道这是否重要。
  5. 安装了 Scala 和 File Watchers 插件
  6. 将 Java SDK 配置为 jdk1.7.0_09
  7. 删除了引用我的 $USER_HOME\.ivy2\cache 目录中不存在的 scala 编译器、库、反射 jar 的 scala-sdk。
  8. 安装了 Scala 2.10.3 SDK 并配置为项目中的库。
  9. 制作项目
  10. 有 94 个错误,都与 util 和 xml 包有关。我本来希望这些包是 scala.util 和 scala.xml。

错误示例:

orbeon-forms\src\main\scala\org\orbeon\oxf\common\PEVersion.scala
Error:(34, 8) object Try is not a member of package util<br/>
              import util.Try

 

orbeon-forms\src\main\scala\org\orbeon\oxf\fb\AlertsAndConstraintsOps.scala<br/>
Error:(46, 9) type mismatch;<br/>
              found   : scala.xml.Elem<br/>
              required: org.orbeon.saxon.om.NodeInfo<br/>
                 toXML     currentLang<br/>

我做错了什么?

【问题讨论】:

  • 抱歉,还没来得及研究这个。它应该工作,尽管我们使用的是 IntelliJ 的 Ultimate 版本。第一个错误肯定不对,因为scala.util.Try 是一个内置的Scala 类。会不会是scala-library.jar 没有正确指向?
  • @ebruchez scala-library.jar 包含在 scala-sdk-2.10.3 全局库中。 PEVersion.scala 中的导入是 util.Try 而不是 scala.util.Try。见src。将其更改为 scala.util.Try 可以修复上述两个错误。但是,我还剩下一些,例如:Error:(80, 58) type mismatch; found : org.orbeon.oxf.xforms.XFormsError.ServerError required: &lt;notype&gt; containingDocument.addServerError(ServerError(t))
  • @ebruchez 我刚刚注意到源顶部的一条消息:No IDEA annotations attached to the JDK IDEA IC-139.225.3 (idea path), some issues will not be found。当我单击附加注释时,它显示还有一个文件正在尝试导入util.Try。一旦我解决了这个问题,项目就成功编译了。然后我可以从 IntelliJ 成功运行 orbeon-war 任务。我仍然很困惑为什么没有更改就无法编译。我检查了另一个我没有导入 IntelliJ 的副本。它只用'ant orbeon-war`编译得很好。
  • 奇怪的是,尽管构建成功,XFormsContainingDocument.java 在查看源代码时仍然显示错误:'XFormsContainingDocument' must either ve declared abstract or implement abstract method parentXBLCcontainer()' in 'XBLContainer'`。错误似乎是准确的。
  • 很高兴它的工作!我怀疑范围内还有另一个Try。 Scala 相对于先前的导入进行解析,并且 scala 是隐式导入的。所以写scala.util.Try不会有伤害。

标签: scala intellij-idea orbeon


【解决方案1】:

我能够通过更改导入来修复此错误: import util.Tryimport scala.util.Try

scala.xml 包中还有其他文件存在相同问题。

我更改的文件的完整列表是:

src\main\scala\org\orbeon\oxf\common\PEVersion.scala
src\main\scala\org\orbeon\oxf\fr\mongodb\MongoDBPersistence.scala
src\main\scala\org\orbeon\oxf\fr\process\ProcessInterpreter.scala
src\main\scala\org\orbeon\oxf\fr\process\SimpleProcess.scala
src\main\scala\org\orbeon\oxf\fr\process\XFormsActions.scala
src\main\scala\org\orbeon\oxf\xforms\action\XFormsAPI.scala
src\main\scala\org\orbeon\oxf\xforms\analysis\ElementAnalysis.scala
src\main\scala\org\orbeon\oxf\xforms\analysis\PathMapXPathAnalysis.scala
src\main\scala\org\orbeon\oxf\xforms\control\controls\XFormsInputControl.scala
src\main\scala\org\orbeon\scaxon\XML.scala
src\test\scala\org\orbeon\oxf\common\VersionTest.scala

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2014-06-22
  • 1970-01-01
  • 1970-01-01
  • 2021-06-24
  • 2018-12-10
  • 2018-11-11
  • 2015-08-24
  • 1970-01-01
相关资源
最近更新 更多