如何從Scala代碼的文件系統獲取scala-library.jar的完整路徑? 我試過類似scala.Console.getClass.getProtectionDomain.getCodeSource.getLocation.getPath
的方法,但它似乎不起作用(返回指針null
)。獲取scala-library.jar位置
1
A
回答
1
一種方式是通過類路徑這樣得到它:
System.getProperty("java.class.path").split(java.io.File.pathSeparator)
.filter{_.contains("scala-library")}.head
1
一個由thoredge有點類似於答案,但也搜索引導類路徑(這應該在Eclipse + ScalaPlugin工作):
List("java.class.path", "java.boot.class.path", "sun.boot.class.path")
.flatMap(s => System.getProperty(s, "")
.split(java.io.File.pathSeparator))
.find(new java.io.File(_).getName == "scala-library.jar")
3
我們用這個來調整卡尺類路徑:
val so = classOf[ScalaObject].getResource("ScalaObject.class").toString
val scalaJar = so.substring(so.lastIndexOf(":") + 1, so.lastIndexOf("!"))
這個作品在eclip se和Mac OS和Linux下的命令行中的fat-jar。
相關問題
- 1. 從位置獲取位置
- 2. 獲取位置
- 3. 獲取位置:\
- 4. 獲取位置
- 5. Xquery獲取位置()
- 6. 獲取位置VB.net
- 7. IOS獲取位置
- 8. 獲取GPS位置
- 9. 獲取列位置
- 10. Android獲取位置
- 11. 獲取templatetag位置
- 12. actionscript獲取位置
- 13. 獲取行位置
- 14. 獲取設置位的位置C
- 15. 通過GPS位置獲取位置
- 16. 獲取元素的位置/位置
- 17. CLLocation當前位置獲取位置
- 18. 獲取視圖的位置
- 19. 如何獲取行位置?
- 20. 從GCMIntentService獲取Android位置
- 21. IBM MobileFirst - 獲取位置
- 22. 獲取視圖的位置
- 23. pyqt獲取圖像位置
- 24. 獲取CCSprite的位置
- 25. Kinect Fusion獲取位置
- 26. 獲取地圖位置Python
- 27. 獲取位置android kotlin
- 28. 獲取指針位置
- 29. OpenGl獲取鼠標位置
- 30. Python:獲取腳本位置
謝謝,我發現我們的2個方法在命令行上工作正常,但都在Eclipse上使用Scala插件失敗。 – classicalist