Tag: 行家

kotlin编译器问题未解决的类

Kotlin编译器为未解决的类提供了一些令人困惑的错误消息。 一个开发人员的项目编译,而其他开发人员不。 他们有相同的代码。 这是错误… [ERROR] Supertypes of the following classes cannot be resolved. Please make sure you have the required dependencies in the classpath: class java.lang.AutoClosable, unresolved supertypes: Object class com.mycompany.ProviderObjIdentity, unresolved supertypes: Object 我不知道从哪里开始调试这个问题。 这些项目的代码没有任何区别,但是我想这两个开发人员使用的是不同的JDK。 也许不同版本的maven。 绝对不同的linux风格。 我很乐意提供任何额外的信息,我只是不知道会有什么帮助。 这个开发人员的设置被破坏: Kotlin:1.0.4 sles SUSE Linux Enterprise Server 11(x86_64)Linux 3.0.76-0.11-default mvn -version Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 […]

任何如何在Maven依赖关系中启用Kotlin扩展函数的例子?

我开始使用Kotlin,现在尝试使用Kotlin-JDBC示例( https://github.com/kotlin-projects/kotlin-jdbc ),并将以下依赖项添加到我的Kotlin / Maven项目中: <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-jdbc</artifactId> <version>0.14.451</version> </dependency> 但是,IntelliJ中没有任何扩展函数: val dataSource : DataSource = JdbcConnectionPool.create("jdbc:h2:mem:KotlinJdbcTest;DB_CLOSE_DELAY=-1", "user", "password") if ( dataSource != null ) { dataSource.update("create table foo (id int primary key, name varchar(100))") } “更新”在我的IDE中显示为红色。 任何想法如何解决这个问题?

Kotlin JSR-223在Fat jar中的ScriptEngineFactory – 找不到kotlin编译器jar

我有一个胖的jar,我试图获得Kotlin的ScriptEngine的实例。 为了调试的目的,我正在遍历可用的脚本引擎工厂并获取引擎。 val scriptEngineManager = ScriptEngineManager() for (factory in scriptEngineManager.engineFactories) { val scriptEngine = factory.scriptEngine } 当它击中Kotlin的引擎时,它会失败,除了以下例外: Exception in thread "main" java.io.FileNotFoundException: Cannot find kotlin compiler jar, set kotlin.compiler.jar property to proper location at org.jetbrains.kotlin.script.jsr223.KotlinJsr223ScriptEngineFactoryExamplesKt$kotlinCompilerJar$2.invoke(KotlinJsr223ScriptEngineFactoryExamples.kt:100) at org.jetbrains.kotlin.script.jsr223.KotlinJsr223ScriptEngineFactoryExamplesKt$kotlinCompilerJar$2.invoke(KotlinJsr223ScriptEngineFactoryExamples.kt) at kotlin.SynchronizedLazyImpl.getValue(Lazy.kt:130) at org.jetbrains.kotlin.script.jsr223.KotlinJsr223ScriptEngineFactoryExamplesKt.getKotlinCompilerJar(KotlinJsr223ScriptEngineFactoryExamples.kt) at org.jetbrains.kotlin.script.jsr223.KotlinJsr223ScriptEngineFactoryExamplesKt.access$getKotlinCompilerJar$p(KotlinJsr223ScriptEngineFactoryExamples.kt:1) at org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmDaemonLocalEvalScriptEngineFactory.getScriptEngine(KotlinJsr223ScriptEngineFactoryExamples.kt:56) at davidsiro.invoices.InvoiceGeneratorKt.generateInvoice(invoiceGenerator.kt:16) at davidsiro.invoices.MainKt.main(main.kt:11) 我的胖jar包含所有的依赖(虽然解压),包括Kotlin编译器。 我正在使用Maven Assembly Plugin来构建它,其配置如下: <plugin> <groupId>org.apache.maven.plugins</groupId> […]

Kotlin-Kapt注释处理器不能与maven一起工作

我想从kotlin实体类生成jpa querydsl文件。 有一个非常好的例子在线如何使用gradle生成dsl文件https://github.com/JetBrains/kotlin-examples/blob/master/gradle/kotlin-querydsl/build.gradle 。 然而,我试图在maven中实现这一点,并没有运气。 我目前的pom在下面。 有谁知道这个问题可能是什么? 提前致谢。 <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>test</groupId> <artifactId>test-jpa</artifactId> <version>2.7.0-SNAPSHOT</version> <properties> <kotlin.version>1.1.50</kotlin.version> </properties> <dependencies> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>4.3.5.Final</version> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib-jre8</artifactId> <version>${kotlin.version}</version> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>kotlin-maven-plugin</artifactId> <groupId>org.jetbrains.kotlin</groupId> <version>${kotlin.version}</version> <executions> <execution> <id>kapt</id> <goals> <goal>kapt</goal> </goals> <configuration> <sourceDirs> <sourceDir>${project.basedir}/src/main/java</sourceDir> </sourceDirs> <annotationProcessorPaths> <annotationProcessorPath> <groupId>com.mysema.querydsl</groupId> <artifactId>querydsl-apt</artifactId> <version>3.6.4</version> </annotationProcessorPath> </annotationProcessorPaths> […]

Kotlin maven插件编译顺序

我有一个关于kotlin-maven插件的问题:如何确定编译顺序? 我的意思是:kotlin编译器必须先来吗? 它理解java代码吗? java编译器不能理解kotlin代码,所以我想它会检查字节码,但为此,kotlin的字节码必须存在,所以有人必须确定kotline编译器必须在javac之前编译它的代码。 例如:我有Java类A,依赖于Kotlin类B和B也依赖于A. 我是否必须在maven插件中手动执行某些操作,方法是在java maven编译器之前声明它。

Kotlin – 无法运行intellij中的“hello world”

我正在尝试通过下面的maven指令来配置Kotlin项目: https ://kotlinlang.org/docs/reference/using-maven.html#KotlinBuildTools-Maven in intellij。 pom.xml似乎由intellij自动配置,但我不断收到我的hello世界文件错误“kotlin未配置”。 intellij编译器有错误:“Kotlin:Unresolved reference:println”。 我正在使用intellij 15.0.3和kotlin 1.0.0

使用Kotlin合成属性

我正在Kotlin试用Vert.x。 我有以下一段代码: val deploymentOptions = DeploymentOptions() deploymentOptions.setConfig(JsonObject().put("http.port", 8081)) 一切工作正常。 但是,IntelliJ IDEA在第二行报告我应该使用“Kotlin合成属性”。 任何想法如何在这种情况下做到这一点。 另外,我正在使用Maven。 解: deploymentOptions.config = JsonObject().put("http.port", 8081) 谢谢您的帮助 :)

为什么我的Kotlin编译失败使用Kotlin-Maven-Plugin?

在尝试编译Java / Kotlin混合项目时,我收到以下错误: [ERROR] Failed to execute goal org.jetbrains.kotlin:kotlin-maven-plugin:1.1.3-2:compile (compile) on project tablesaw-core: Compilation failure [ERROR] java.lang.ArrayIndexOutOfBoundsException: 32 [ERROR] at org.jetbrains.org.objectweb.asm.ClassReader.readUTF8(ClassReader.java:2529) [ERROR] at org.jetbrains.org.objectweb.asm.ClassReader.readModule(ClassReader.java:777) [ERROR] at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:646) [ERROR] at org.jetbrains.org.objectweb.asm.ClassReader.accept(ClassReader.java:507) [ERROR] at org.jetbrains.kotlin.resolve.jvm.modules.JavaModuleInfo$Companion.read(JavaModuleInfo.kt:51) [ERROR] at org.jetbrains.kotlin.cli.jvm.modules.CliJavaModuleFinder.computeAllSystemModules$kotlin_compiler(CliJavaModuleFinder.kt:28) [ERROR] at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.computeRootModules(KotlinCoreEnvironment.kt:298) [ERROR] at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.addModularRoots(KotlinCoreEnvironment.kt:277) [ERROR] at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.convertClasspathRoots(KotlinCoreEnvironment.kt:269) [ERROR] at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt:197) [ERROR] at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt:109) [ERROR] at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.createForProduction(KotlinCoreEnvironment.kt:423) [ERROR] […]

在使用maven时,Kotlin不是从src / main / kotlin编译的

kotlin编译器似乎只是试图编译src / main / java中的.kt文件,而忽略了src / main / kotlin。 但是,IntelliJ IDE中的一切似乎都正确链接。 没有错误。 下面是我的kotlin的插件配置: <plugins> <plugin> <artifactId>kotlin-maven-plugin</artifactId> <groupId>org.jetbrains.kotlin</groupId> <version>${kotlin.version}</version> <executions> <execution> <id>compile</id> <goals> <goal>compile</goal> </goals> <configuration> <sourceDirs> <sourceDir>${project.basedir}/src/main/kotlin</sourceDir> <sourceDir>${project.basedir}/src/main/java</sourceDir> </sourceDirs> </configuration> </execution> <execution> <id>test-compile</id> <goals> <goal>test-compile</goal> </goals> <configuration> <sourceDirs> <sourceDir>${project.basedir}/src/test/kotlin</sourceDir> <sourceDir>${project.basedir}/src/test/java</sourceDir> </sourceDirs> </configuration> </execution> </executions> </plugin> 但是,当我运行mvn clean install时,kotlin编译器似乎不运行。 所以我尝试直接从插​​件运行kotlin编译器。 [INFO] — kotlin-maven-plugin:1.1.2:compile (default-cli) @ eagle-client-core […]