我有一个pom.xml
,其中定义了一些配置文件,用于检查正在运行的操作系统,并根据操作系统更改变量。在SBT中是否存在相当于这种行为?
答案 0 :(得分:1)
一般情况下你应该改变主意。在SBT中,您对所有库使用普通scala。
<profiles>
<profile>
<id>lwjgl-natives-linux></id>
<activation>
<os><family>unix</family></os>
</activation>
<properties>
<lwjgl.natives>natives-linux</lwjgl.natives>
</properties>
</profile>
<profile>
<id>lwjgl-natives-macos></id>
<activation>
<os><family>mac</family></os>
</activation>
<properties>
<lwjgl.natives>natives-macos</lwjgl.natives>
</properties>
</profile>
<profile>
<id>lwjgl-natives-windows></id>
<activation>
<os><family>windows</family></os>
</activation>
<properties>
<lwjgl.natives>natives-windows</lwjgl.natives>
</properties>
</profile>
</profiles>
根据您的示例,定义变量。 (见How do I programmatically determine operating system in Java?):
val lwjglNatives = sys.props("os.name").toLowerCase match {
case os if os.contains("uni") =>
"natives-linux"
case os if os.contains("mac") | os.contains("darwin") =>
"natives-macos"
case os if os.contains("win") =>
"natives-windows"
}
然后您可以根据操作系统使用lwjglNatives
。