Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Kotlin注释参数中使用java常量_Java_Eclipse_Caching_Spring Boot_Kotlin - Fatal编程技术网

在Kotlin注释参数中使用java常量

在Kotlin注释参数中使用java常量,java,eclipse,caching,spring-boot,kotlin,Java,Eclipse,Caching,Spring Boot,Kotlin,在Spring Boot(使用Java)中,我通常将缓存名称放在静态最终字符串中,如下所示: public static final String MY_CACHE_NAME = "cache_name" @Cacheable(value = MY_CACHE_NAME) 但是,当我有一个具有这个缓存名称的java类,并且我尝试在Kotlin缓存方法中使用它时,Eclipse告诉我这不是一个“编译时常量”。有办法解决这个问题吗 在eclipse之外,一切都很顺利…这很奇怪,这肯定会起作用。您

在Spring Boot(使用Java)中,我通常将缓存名称放在静态最终字符串中,如下所示:

public static final String MY_CACHE_NAME = "cache_name"

@Cacheable(value = MY_CACHE_NAME)
但是,当我有一个具有这个缓存名称的java类,并且我尝试在Kotlin缓存方法中使用它时,Eclipse告诉我这不是一个“编译时常量”。有办法解决这个问题吗


在eclipse之外,一切都很顺利…

这很奇怪,这肯定会起作用。您可能有配置问题。检查您的Kotlin插件和项目是否使用相同版本的Kotlin,不同版本通常会导致奇怪的编译器错误。如果可能,请在这两个位置使用最新版本

这是我尝试的示例代码,它在
1.1.50
上运行得非常好(这是胡说八道,但它可以编译):

  • MyConstants.java

    public class MyConstants {
        public static final String MY_CACHE_NAME = "cache_name";
    }
    
  • DemoApplication.kt

    @SpringBootApplication
    class DemoApplication
    
    fun main(args: Array<String>) {
        SpringApplication.run(DemoApplication::class.java, *args)
    }
    
    @Cacheable(MyConstants.MY_CACHE_NAME)
    fun someFunction() {}
    
    @springboot应用程序
    类演示应用程序
    趣味主线(args:Array){
    run(DemoApplication::class.java,*args)
    }
    @可缓存(MyConstants.MY_CACHE_NAME)
    fun someFunction(){}
    

您可以尝试将Kotlin中的变量定义为“常量”“我刚刚意识到这是一个Eclipse问题。如果我在Eclipse外部编译,一切都会好起来。只是为了确保,你的测试是在Intelij中进行的吗?我标记你的答案…这是一种配置问题。Tks!实际上,我已将问题更改为正确的问题…因此我将取消标记你的答案。谢谢!Eclipse插件是否已更新?”支持您正在使用的Kotlin的任何版本?是的,遇到了相同的问题。似乎是eclipse的问题。