Tag: Java

IBM Bluemix Cloud Foundry SpringBoot kotlin应用程序错误

我在IBM Bluemix上部署了一个用kotlin编写的spring引导应用程序。 我使用java的自由。 但我不能正确运行我的应用程序,但在我的机器在本地工作得很好。 当我打电话给我的REST API时,返回错误或不工作。 这是错误的: 有一个意外的错误(type = Internal Server Error,status = 500)。 java.lang.NoClassDefFoundError:it.gate42.skip.DeviceInfo.DeviceInfo_Accessor_ewee6w(初始化失败) 我已经试图改变Java版本,但错误是一样的。 (我已经设置了OPEN_JDK和版本1.8。+) 这是返回我的云代工应用程序的通话记录: https : //gist.github.com/paranoiasystem/a28a2587c231f2b398c4650ba1c7016c 我已经张贴在要点上,因为这么长,这是不可能发布所有日志在这里。

Kotlin文件从Jar打开而不是Project:IntelliJ

目前,我正在开发一个多模块项目,当我导航到src-> package path,然后打开一个kotlin文件(* .kt)时,我已经开始面临一个问题,对于我的模块之一,我点击“从源文件滚动”,它显示该文件是从一个在m2回收jar中加载的。 我曾试图: 卸载并重新加载模块 使缓存无效并重新启动 完全删除m2文件夹并重新导入依赖关系 这些都没有工作到目前为止。 也要强调: 我面对的这个问题只是针对其中的一个模块 也只为kt文件,java文件和其他文件正在导航罚款。

我如何将实现委托给Kotlin中的可变属性?

至于我的理解,在Kotlin中委托一个实现的想法是避免看起来像这样的代码: class MyClass(val delegate : MyInterface) : MyInterface { override fun myAbstractFun1() = delegate.myAbstractFun1() override fun myAbstractFun2() = delegate.myAbstractFun2() // … } 相反,我们可以写下面的代码,它应该这样做: class MyClass(val delegate : MyInterface) : MyInterface by delegate 现在,我想delegate是一个可变的variables,即我的代码如下所示: var delegate : MyInterface = MyImplementation() object MyObject : MyInterface by delegate 所以,如果我像第一个例子一样委托每个抽象方法来delegate自己的delegate那么改变delegate的值确实会改变方法的行为。 但是,上面的代码编译为这个Java代码: public final class MyObject implements MyInterface { public […]

如何调用与lambda多个相似签名Kotlin方法?

我正在使用这个库的一些代码: https : //github.com/Netflix-Skunkworks/rewrite 当我调用它的一个方法时,我遇到一个IDE错误: 所提供的参数都不能调用以下函数。 目标方法有两个相似的签名: data class CompilationUnit(…){ fun refactor() = Refactor(this) fun refactor(ops: Refactor.() -> Unit): Refactor { val r = refactor() ops(r) return r } fun refactor(ops: Consumer): Refactor { val r = refactor() ops.accept(r) return r } } Kotlin的调用代码: val unit: CompilationUnit =… unit.refactor{ tx -> doSomeThing() } 在Java中,这个lambda调用是可以的: CompilationUnit […]

试图编写高效的代码来使用Kotlin更新背景颜色

下面的代码工作,但我觉得有可能是一个更有效/更清洁的方式。 我是Kotlin和Android开发的新手,所以请放轻松点。 ;-)任何增强将非常赞赏,因为我一直在寻求改善。 fun updateBackgroundColor() { val sharedPref = PreferenceManager.getDefaultSharedPreferences(this) // Gets the text color from the shared preferences file val backgroundColor = sharedPref.getString(“background_color”, “”) val fullscreenView = findViewById(R.id.fullscreen_content) val fullView = fullscreenView as TextView? // Changes the text color based on the color the user has selected in Settings/Preferences if (backgroundColor == “blue”) { […]

使用Kotlin中的方法为variables赋值一个新的值?

在Java中,我可以使用[class-name]。[method]来更改类中variables的值,如下所示: public class Main { public static void main(String[] args) { // Prints “Hello, World” to the terminal window. test.teste(); test.printlnvar(); } } class test{ public static int a = 0; public static int b = 0; public static void teste(){ a = 9; b = 12; } public static void printlnvar(){ System.out.println(“the value of […]

使用maven与Java和Kotlin混合的项目创建runnable / uber jar

我有一个Java项目,我使用Maven的依赖解决方案,并建立自包含的,可运行/超级jar(目前通过maven-shade-plugin),我想开始玩混合Kotlin到一些新的项目特征。 是使用maven来创建一个由Java(主要)和Kotlin组成的可运行/超级jar包,它相对简单和/或支持? 或者我正在看一个粘合在一起的东西,如果做对了可能工作的黑客工作? Kotlin不是必需的,但是因为它应该可以和Java自由组合,所以我一直想要尝试这个项目。 真的想要测量一下是否是一堆蠕虫,或者没有什么大不了的(如果它是nbd,最好的方向去看?) 这里是我的pom.xml的构建部分,所以你可以看到我目前正在创建它 my-server src/main/resources true org.apache.maven.plugins maven-jar-plugin 3.0.0 org.apache.maven.plugins maven-shade-plugin 2.4.3 package shade *:* META-INF/*.SF META-INF/*.DSA META-INF/*.RSA com.mycompany.myproject.mymainclass org.apache.maven.plugins maven-compiler-plugin 3.6.0 1.8 1.8 任何人都有经验做这样的事情? 简单? 或者只是远离?

当我将它导出到可运行jar文件时,kotlin出现Javafx错误

我尝试使用kotlin编写javafx应用程序。 在将它导出到可运行jar之后,我双击jar文件,但是它不起作用。 但是,如果我使用Java,一切都可以。 例如:通过IDEA 2017.2.5创建一个新的javafx项目。选择File-Project Structure,然后点击JavaFX标签,Native bundle选择all。然后应用设置。 在这里输入图像说明 然后选择Build-Build Artifact-Build。 在这里输入图像说明 我可以运行它。一切都好。 在这里输入图像说明 但是当我使用kotlin并且做和java一样的事情时。 当我在IDEA中运行它时,一切正常。 码: package sample import javafx.application.Application import javafx.fxml.FXMLLoader import javafx.scene.Parent import javafx.scene.Scene import javafx.stage.Stage class Main : Application() { @Throws(Exception::class) override fun start(primaryStage: Stage) { val root = FXMLLoader.load(javaClass.getResource(“sample.fxml”)) primaryStage.title = “Hello World” primaryStage.scene = Scene(root, 300.0, 275.0) primaryStage.show() } companion […]

将java lambda传递给kotlin fun时,“Function0不是函数接口”错误

这是我的kotlin代码: class Foo : Bar { override var onRefreshListener: (() -> Unit)? = null … } 这是我在java中试图做的事情: class A { private Foo foo; private void onRefreshStarted() {} private void problem() { foo.setOnRefreshListener(this::onRefreshStarted); foo.setOnRefreshListener(() -> onRefreshStarted()); } } 在这两种情况下在问题()我从Android Studio中得到以下错误: Function0不是一个function接口 我如何设置java的onRefreshListener?

AWS Lambda Java / Kotlin发送消息给SQS

我一直在使用Kotlin创建一个AWS Lambda函数。 该函数运行良好,但似乎无法发送SQS消息到FIFO队列。 我在Cloudwatch中收到以下消息: REPORT RequestId: 9119da93-e775-11e7-820a-5bbbb7403f93 Duration: 10010.16 ms Billed Duration: 10000 ms Memory Size: 128 MB Max Memory Used: 54 MB 2017-12-23T00:09:49.483Z 9119da93-e775-11e7-820a-5bbbb7403f93 Task timed out after 10.01 seconds 我已经重写了我的代码使用节点JS,它执行良好,我有相关的权限设置的lambda函数,通过控制台权限模拟器测试好措施,把消息放在指定的队列。 由于它在Node中完全正常工作,所以我不得不假定我的Java / Kotlin版本有问题。 如果我删除下面的代码,该function到达结束,并返回正常。 我已经尝试了各种方法来创建客户端(包括不推荐使用的选项)和EnvironmentVariableCredentialsProvider和DefaultAWSCredentialsProviderChain 。 我也尝试增加超时到20秒,但是这也没有任何区别。 任何想法,将不胜感激! val sqs = AmazonSQSClientBuilder.standard() .withRegion(Regions.US_WEST_2) .withCredentials(DefaultAWSCredentialsProviderChain()) .build() val sendMessageRequest = SendMessageRequest() .withMessageDeduplicationId(“deduplicationId”) .withMessageGroupId(“test”) .withQueueUrl(“https://sqs.us-west-2.amazonaws.com/00000000/test.fifo”) .withMessageBody(“test”) […]