Tag: 行家

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

kotlin编译器似乎只是试图编译src / main / java中的.kt文件,而忽略了src / main / kotlin。 但是,IntelliJ IDE中的一切似乎都正确链接。 没有错误。 下面是我的kotlin插件配置: kotlin-maven-plugin org.jetbrains.kotlin ${kotlin.version} compile compile ${project.basedir}/src/main/kotlin ${project.basedir}/src/main/java test-compile test-compile ${project.basedir}/src/test/kotlin ${project.basedir}/src/test/java 但是,当我运行mvn clean install时,kotlin编译器似乎不运行。 所以我尝试直接从插​​件运行kotlin编译器。 [INFO] — kotlin-maven-plugin:1.1.2:compile (default-cli) @ eagle-client-core — [INFO] Kotlin Compiler version 1.1.2 [INFO] Compiling Kotlin sources from [C:\Users\me\workspace\Project\Clients\project-client\project-client-core\src\main\java] 正如你所看到的,src / main / java正在被扫描,但不是src / main / kotlin。 […]

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 […]

kapt是否支持maapt?

是否有可能在基于maven的项目中运行kapt(kotlin注释处理)? 如果是的话,我如何将kapt集成到maven构建系统中?

Kotlin maven插件编译顺序

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

如何生成与dokka上载资料库的javadoc jar?

我最近迁移了一个java组件到kotlin。 到目前为止,当我使用Maven发布插件时,它也自动生成了javadoc,它也被上传到oss.sonatype.com。 另一方面,Dokka似乎并没有将发行版插件与开箱即可集成。 因此,在上传到oss.sonatype.com之后,nexus拒绝发布validation错误,因为javadoc jar缺失。 有没有与Maven发布插件的dokka集成?

当使用Maven编译时,类路径条目指向一个不存在的位置警告

我们最近从Kotlin 1.1.51升级到1.2.10,清除了所有警告(我们使用“错误”将警告视为错误),并且项目正在运行。 我们使用mvn verify命令从命令行构建它,以及使用Build > Build project从IntelliJ Build > Build project 。 然后,我们决定升级到最新版本(1.2.21),这里是我们看到的一些问题:从命令行( mvn verify )编译项目时出现警告,导致编译失败: [警告]类路径条目指向一个不存在的位置:/用户/用户名/ git /项目名称/目标/类 有意思的是,如果我们在IntelliJ上执行Build > Build Project ,那么就没有任何警告,并且项目将编译(并运行)而没有问题。 如果我们将Kotlin的版本降级到pom文件(而不是1.2.21)上的1.2.10,则它将再次从命令行和IntelliJ Build中成功建立。 我们注意到当我们执行Build> Build Project时,在目标文件夹中创建了两个目录:classes和test-classes; 而当命令行编译失败时,有两个不同的目录:kotlin-ic和maven-status。 我看到似乎相关的问题( 1,2或3 ),但是它们的错误/警告似乎是特定于某些库的,而在这种情况下,它看起来像更一般的东西(它不是一个特定的库,我可以像建议的那样添加为依赖项在答案)。 为什么命令行和IntelliJ版本之间的区别? 是什么引发了这个警告,我们该如何解决?

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来构建它,其配置如下: org.apache.maven.plugins maven-assembly-plugin […]

Maven导入依赖Jetbrains暴露

在Jetbrains的Exposed(一个Kotlin SQL框架)的github页面上,有一个链接指向一个页面,在这里你可以获得这个库的maven依赖( https://bintray.com/kotlin/exposed/exposed/view# )。 MVNRepository也可以find相同的依赖关系( https://mvnrepository.com/artifact/org.jetbrains.exposed/exposed/0.7.6 )。 我使用maven 3.3.9和Intellij 2016.3.4,但maven无法解决这种依赖。 我检查〜/ .m2 /目录,似乎它被下载(有一个jar子存在)。 看了一下仓库之后,我发现没有pom.xml,而且他们在哪里使用Gradle。 是否仍然可以用maven导入这个依赖项?

Kotlin在编译时未解决的参考

我前几天正在做一个项目,这个工作正在进行中,我今天又回来了,不再编译,但是我没有改变任何东西,据我所知… 这是文件: package windall.console.account.api.persistence import com.fasterxml.jackson.annotation.JsonIgnore import windall.console.account.api.dtos.PaymentDto import windall.console.account.api.model.Tenant import java.time.LocalDateTime import javax.persistence.Column import javax.persistence.Entity import javax.persistence.GeneratedValue import javax.persistence.Id import javax.persistence.JoinColumn import javax.persistence.ManyToOne @Entity data class Receipt ( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) val id: Long? = null, val amount: Long, @JsonIgnore @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = “tenant_id”) val tenant: Tenant? = null, @Column(name = […]

在intellij中将kotlinx-html-js添加到kotlin / js项目中

我需要将kotlinx-html-js库添加到使用Intellij创建的kotlin / js项目中。 我试图添加maven支持,并在pom.xml文件中写下如下: 4.0.0 com.cillario Demo 1.0-SNAPSHOT jcenter jcenter https://jcenter.bintray.com org.jetbrains.kotlinx kotlinx-html-js ${kotlinx.html.version} 正如这里所解释的,但它不起作用。 有人可以帮我吗? 非常感谢。