Nic*_*oiu 10 annotations scala compiler-errors
在这个片段中,
@SwaggerDefinition(...authorizationUrl =
SecurityConstants.authorizationUrl)
Run Code Online (Sandbox Code Playgroud)
鉴于此
final object SecurityConstants {
final val authorizationUrl: String =..
}
Run Code Online (Sandbox Code Playgroud)
(两个决赛中只有一个应该没问题,但仍然存在)我期待/希望这可以用2.12.3编译,但是它给出了"注释参数需要是一个常量;找到:SecurityConstants.authorizationUrl [error] authorizationUrl = SecurityConstants.authorizationUrl,"
在注释中调用Java静态方法System.getenv("a")也会带来相同的错误,即
@SwaggerDefinition(...authorizationUrl = System.getenv("a"))
Run Code Online (Sandbox Code Playgroud)
请帮忙,Nicu M.
ghi*_*hik 12
final val
在两个条件下,引用可以用作Java注释参数:
final val
必须是文字.final val
.所以,这将工作:
final val authorizationUrl = "http://something.com"
Run Code Online (Sandbox Code Playgroud)
但这些不工作:
final val authorizationUrl = "http://something.com".trim
final val authorizationUrl: String = "http://something.com"
Run Code Online (Sandbox Code Playgroud)
条件没有.2可能看起来特别奇怪,但编译器需要在内部保留final val
不仅包含String
某个特定文字字符串值的信息.