Tag: Java

使用Kotlin的Maven依赖不引入Kotlin类

我有两个项目,一个是依赖于另一个。 我已经将依赖项目转换为Kotlin,但是现在当maven从本地maven仓库获取发布的依赖关系时,父项目并没有依赖于Kotlin内部库。 大纲: Main Project ↳ Now-Kotlin Project ↳ Kotlin Std-lib 运行主项目时,会导致java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics异常。 现在Kotlin项目有kotlin-maven-plugin插件和在它的pom.xml中定义的kotlin-stdlib 。 父项目有被列为依赖项的现在的Kotlin项目,它被正确地导入,它的类被找到和使用,等等…在IntelliJ中就好了。 编译和启动tomcat上主应用程序的应用程序,直到第一次从现在的Kotlin项目中调用代码, org.apache.catalina.core.ApplicationContext log SEVERE: StandardWrapper.Throwable java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics …. java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics 我的假设是,Kotlin库将遵循Maven的正常依赖关系规则,并且来自kotlin-stdlib的org.jetbrains.kotlin包将被包含在任何传递依赖关系中。 主要项目中包含这些依赖关系的正确方法是什么? 更新 主项目mvn dependency:tree相关部分: [INFO] — maven-dependency-plugin:2.10:tree (default-cli) @ example-core — [INFO] com.example:example-core:jar:1.17.0-SNAPSHOT [INFO] +- com.example.service.search:search-client:jar:kotlin:2.0.3-SNAPSHOT:compile 主要项目POM … <dependency> <groupId>com.example.service.search</groupId> <artifactId>search-client</artifactId> <version>2.0.3-SNAPSHOT</version> <scope>compile</scope> […]

用Kotlin配置Gradle

我试图用gradle来使用kotlin,但是我无法用Intellij Idea 15成功地创建一个项目。 我已经创建了两个模块hello-java和hello-kotlin简单项目。 hello-java是普通的java项目,它正在编译和运行非常好。 hello-kotlin是简单的kotin模块,只有一个* .kt文件和build.gradle文件。 这里是来源: 的build.gradle group 'pl.fzymek.kotlin' version '1.0-SNAPSHOT' buildscript { repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:0.10.4" } } apply plugin: 'kotlin' apply plugin: 'application' mainClassName = 'HelloKotlinKt' repositories { mavenCentral() } jar { manifest { attributes 'Main-Class': mainClassName } } dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib:0.10.4" } HelloKotlin.kt fun main(args: […]

如何将kotlin源文件转换为java源文件

我有一个Kotlin源文件,但是我想把它翻译成Java。 我如何将Kotlin转换为Java源代码?

Android N Java 8功能(Jack编译器)和Kotlin互操作

更新3. KOTLIN 现在正式支持 Android的发展 。 通过GOOGLE。 YAAAAAAAAS! 更新2 :它看起来像JetBrains是真的承诺从长远来看支持Android的Kotlin 。 我是一个快乐的kotlin用户:)。 更新 :JetBrains的Hadi Hariri 提到他们将发布关于这个主题的一些信息 。 一旦他们这样做,我会更新这个帖子。 ===弃置的东西下一个=== Google刚刚发布了即将推出的Android N预览版,其中包括一些有趣的功能,其中最引人注目的是部分Java 8语言支持 。 这可能是由于Google正在开发的新Jack工具链造成的。 当前使用javac或kotlinc的工具链: javac ( .java – > .class ) – > dx ( .class – > .dex ) kotlinc ( .kt – > .class ) – > dx ( .class – > .dex […]

在Kotlin试用资源

当我试图在Kotlin上写一个类似try-with-resources的代码时,它并不适合我。 我尝试了以下的不同变化: try (writer = OutputStreamWriter(r.getOutputStream())) { // … } 但是都没有用。 有谁知道应该用什么来代替? 显然Kotlin语法没有这样的构造的定义 ,但可能是我失去了一些东西。 它为try块定义语法如下: try : "try" block catchBlock* finallyBlock?;

Kotlin-android:未解决的引用数据绑定

我有以下使用新的数据绑定库Java编写的片段类 import com.example.app.databinding.FragmentDataBdinding; public class DataFragment extends Fragment { @Nullable private FragmentDataBinding mBinding; @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_data, container, false); return mBinding.getRoot(); } } 它编译和运行良好。 我试图在Kotlin中重写它,并提出如下: import com.example.app.databinding.FragmentDataBdinding class ProfileFragment : Fragment() { private var mBinding: FragmentDataBinding? = null override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, […]