0

我在 Docker 中访问代码($docker pull mreif/fse2016:evaluation),代码可以在远程服务器中编译和运行而不会出错。当我将它下载到本地机器时,我在编译时遇到了一些错误(使用:sbt compile):

  1. [错误](*:更新)sbt.ResolveException:未解决的依赖:de.opal-project#abstract-interpretation-framework_2.11;0.9.0-SNAPSHOT:不是

[我做了什么]我在“build.sbt”中添加了以下几行:

resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots"
  1. [错误] 评估/src/main/scala/org/opalj/evaluation/EntryPointAndCallEdgeCountAnalysis.scala:90:未找到:

[我做了什么]我在“build.sbt”中添加了以下几行:

 libraryDependencies += "de.opal-project" % "fixpoint-computations-framework-analyses_2.11" % "0.9.0-   SNAPSHOT"

3.[错误] /src/main/scala/org/opalj/evaluation/EntryPointAndCallEdgeCountAnalysis.scala:130:未找到:值LibraryEntryPointsAnalysis

查了相关代码,LibraryEntryPointsAnalysis 已经被实际导入了但是不起作用。

你能帮我确认一下我在编译源代码时遗漏了什么操作吗?

非常感谢!

4

1 回答 1

0

它不起作用的原因是 OPAL 框架的版本不匹配。它没有找到“LibraryEntryPointAnalysis”的原因是它已被重命名。

你必须选择:

  1. 使用 Docker 容器中使用的 OPAL 版本
    • 从版本标签“ArtifactEvaluationFSE2016”检查 OPAL
    • 就像您对评估项目所做的那样,从容器中复制 OPAl
  2. 使评估项目适应新的 API
    • 现在调用 LibraryEntryPointsAnalysisEntryPointAnalysis
    • 可能还有其他需要修复的重大更改

如果您想使用选项一,您必须自己构建 OPAL,因为 eval 版本未在 maven 上发布。

于 2016-12-13T09:53:30.263 回答