OPAL-如何在本地机器的 Docker 中构建代码(遇到编译错误)?
OPAL-How to build code in Docker in local machine (faced compile error)?
我访问 Docker($docker pull mreif/fse2016:evaluation) 中的代码,代码可以编译并且 运行 在远程服务器中没有错误。当我将它下载到本地机器时,我在编译时遇到了一些错误(使用:sbt compile):
- [error] (*:update) sbt.ResolveException: 未解决的依赖关系: de.opal-project#abstract-interpretation-framework_2.11;0.9.0-SNAPSHOT: not
[我做了什么] 我在 "build.sbt":
中添加了下面几行
resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots"
- [错误] evaluation/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确实导入了但是没有用
能否请您帮我确认编译源代码时是否遗漏了任何操作?
非常感谢!
蒋
它不起作用的原因是 OPAL 框架的版本不匹配。它找不到 "LibraryEntryPointAnalysis" 的原因是它已被重命名。
您必须选择:
- 使用 Docker 容器中使用的 OPAL 版本
- 从版本标签 "ArtifactEvaluationFSE2016"
检查 OPAL
- 像评估项目一样从容器中复制 OPAl
- 使评估项目适应新的API
- LibraryEntryPointsAnalysis 现在称为
EntryPointAnalysis
- 您可能还需要修复其他重大更改
如果您想使用选项一,您必须自己构建 OPAL,因为评估版本未在 maven 上发布。
我访问 Docker($docker pull mreif/fse2016:evaluation) 中的代码,代码可以编译并且 运行 在远程服务器中没有错误。当我将它下载到本地机器时,我在编译时遇到了一些错误(使用:sbt compile):
- [error] (*:update) sbt.ResolveException: 未解决的依赖关系: de.opal-project#abstract-interpretation-framework_2.11;0.9.0-SNAPSHOT: not
[我做了什么] 我在 "build.sbt":
中添加了下面几行resolvers += "Sonatype OSS Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots"
- [错误] evaluation/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确实导入了但是没有用
能否请您帮我确认编译源代码时是否遗漏了任何操作?
非常感谢!
蒋
它不起作用的原因是 OPAL 框架的版本不匹配。它找不到 "LibraryEntryPointAnalysis" 的原因是它已被重命名。
您必须选择:
- 使用 Docker 容器中使用的 OPAL 版本
- 从版本标签 "ArtifactEvaluationFSE2016" 检查 OPAL
- 像评估项目一样从容器中复制 OPAl
- 使评估项目适应新的API
- LibraryEntryPointsAnalysis 现在称为
EntryPointAnalysis
- 您可能还需要修复其他重大更改
- LibraryEntryPointsAnalysis 现在称为
如果您想使用选项一,您必须自己构建 OPAL,因为评估版本未在 maven 上发布。