Как определить версию Scala во время выполнения как для Scala.js, так и для JVM?

Этот вопрос похож на Как мне получить Версия Scala из самого Scala?, за исключением того, что я хочу также поддерживать Scala.js.

Я пробовал подход util.Properties. К сожалению, он недоступен в Scala.js:

https://scalafiddle.io/sf/dzNAhWB/0

ScalaFiddle.scala:-5: ERROR: There were linking errors
Referring to non-existent class java.util.jar.Attributes$Name
  called from scala.util.Properties$.()
  called from ScalaFiddle$.()
  exported to JavaScript with @JSExport
Referring to non-existent method java.util.Properties.load(java.io.InputStream)scala.Unit
  called from scala.util.PropertiesTrait.$$anonfun$scalaProps$1(java.util.Properties,java.io.InputStream)scala.Unit
  called from scala.util.Properties$.$$anonfun$scalaProps$1(java.util.Properties,java.io.InputStream)scala.Unit
  called from scala.util.PropertiesTrait.scalaProps()java.util.Properties
  called from scala.util.Properties$.scalaProps$lzycompute()java.util.Properties
  called from scala.util.Properties$.scalaProps()java.util.Properties
  called from scala.util.PropertiesTrait.scalaPropOrNone(java.lang.String)scala.Option
  called from scala.util.Properties$.scalaPropOrNone(java.lang.String)scala.Option
  called from scala.util.PropertiesTrait.$$init$()scala.Unit
  called from scala.util.Properties$.()
  called from ScalaFiddle$.()
  exported to JavaScript with @JSExport
involving instantiated classes:
  scala.util.Properties$
Referring to non-existent method java.lang.Class.getResourceAsStream(java.lang.String)java.io.InputStream
  called from scala.util.PropertiesTrait.scalaProps()java.util.Properties
  called from scala.util.Properties$.scalaProps$lzycompute()java.util.Properties
  called from scala.util.Properties$.scalaProps()java.util.Properties
  called from scala.util.PropertiesTrait.scalaPropOrNone(java.lang.String)scala.Option
  called from scala.util.Properties$.scalaPropOrNone(java.lang.String)scala.Option
  called from scala.util.PropertiesTrait.$$init$()scala.Unit
  called from scala.util.Properties$.()
  called from ScalaFiddle$.()
  exported to JavaScript with @JSExport
involving instantiated classes:
  scala.util.Properties$
Referring to non-existent method java.util.jar.Attributes$Name.(java.lang.String)
  called from scala.util.Properties$.()
  called from ScalaFiddle$.()
  exported to JavaScript with @JSExport

Итак, как определить версию Scala во время выполнения для всех бэкэндов Scala?


person Yang Bo    schedule 30.01.2018    source источник
comment
Какая будет цель? Чтобы что-то проверить во время выполнения или отображения juste? Версия van ne сгенерирована в (пере) исходном файле при компиляции и затем используется как есть   -  person cchantep    schedule 30.01.2018


Ответы (1)