以下简单的SBT无法导入 org.lwjglx
/ lwjgl3-awt
:
name := "LWJGLTest"
version := "0.1"
scalaVersion := "2.12.8"
libraryDependencies += "org.lwjglx" % "lwjgl3-awt" % "0.1.5"
错误是:
[warn] Detected merged artifact: [FAILED ] org.lwjgl#lwjgl-opengl;3.2.2!lwjgl-opengl.jar: (0ms).
[warn] Detected merged artifact: [FAILED ] org.lwjgl#lwjgl;3.2.2!lwjgl.jar: (0ms).
[warn] ==== public: tried
[warn] ==== public: tried
[warn] https://repo1.maven.org/maven2/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2-natives-${platform}.jar
[warn] https://repo1.maven.org/maven2/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2-natives-${platform}.jar
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: FAILED DOWNLOADS ::
[warn] :: ^ see resolution messages for details ^ ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: org.lwjgl#lwjgl;3.2.2!lwjgl.jar
[warn] :: org.lwjgl#lwjgl-opengl;3.2.2!lwjgl-opengl.jar
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[error] sbt.librarymanagement.ResolveException: download failed: org.lwjgl#lwjgl;3.2.2!lwjgl.jar
[error] download failed: org.lwjgl#lwjgl-opengl;3.2.2!lwjgl-opengl.jar
这是SBT还是lwjgl3-awt
伪像的问题?有什么办法如何解决它?
进行比较,遵循SBT加载罚款:
name := "LWJGLTest"
version := "0.1"
scalaVersion := "2.12.8"
libraryDependencies += "org.lwjgl" % "lwjgl" % "3.2.2"
libraryDependencies += "org.lwjgl" % "lwjgl-opengl" % "3.2.2"
解决方法允许手动指定必要的依赖项:
:libraryDependencies += "org.lwjgl" % "lwjgl" % "3.2.2"
libraryDependencies += "org.lwjgl" % "lwjgl-opengl" % "3.2.2"
libraryDependencies += "org.lwjglx" % "lwjgl3-awt" % "0.1.5" excludeAll ExclusionRule("org.lwjgl")
我认为问题是SBT以某种方式不了解pom.xml
中的${platform}
。上面的解决方案阻止了它试图解决这些依赖关系,这就是为什么明确提供它们的原因。