Tag: 行家

用Maven减少为Kotlin配置编译环境的时间

在使用maven进行编译期间,当Kotlin运行时,在编译时间为40秒的时间内,在[[DEBUG]配置编译环境]中停留了20-30秒。 有没有办法减少这个时间? [INFO] Kotlin Compiler version 1.0.6-release-127 [INFO] Compiling Kotlin sources from [/Users/jacksenkline/Desktop/api/src/main/java] [DEBUG] Classpath: /Users/jacksenkline/Desktop/api/target/api-0.1.0-SNAPSHOT/WEB-INF/classes:/Users/jacksenkline/.m2/repository/com/google/appengine/appengine-api-1.0-sdk/1.9.48/appengine-api-1.0-sdk-1.9.48.jar:/Users/jacksenkline/.m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar:/Users/jacksenkline/.m2/repository/jstl/jstl/1.2/jstl-1.2.jar:/Users/jacksenkline/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib/1.0.6/kotlin-stdlib-1.0.6.jar:/Users/jacksenkline/.m2/repository/org/jetbrains/kotlin/kotlin-runtime/1.0.6/kotlin-runtime-1.0.6.jar:/Users/jacksenkline/.m2/repository/org/json/json/20160810/json-20160810.jar:/Users/jacksenkline/.m2/repository/redis/clients/jedis/2.9.0/jedis-2.9.0.jar:/Users/jacksenkline/.m2/repository/org/apache/commons/commons-pool2/2.4.2/commons-pool2-2.4.2.jar:/Users/jacksenkline/.m2/repository/io/jsonwebtoken/jjwt/0.7.0/jjwt-0.7.0.jar:/Users/jacksenkline/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.8.2/jackson-databind-2.8.2.jar:/Users/jacksenkline/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.8.0/jackson-annotations-2.8.0.jar:/Users/jacksenkline/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.8.2/jackson-core-2.8.2.jar [DEBUG] Classes directory is /Users/jacksenkline/Desktop/api/target/api-0.1.0-SNAPSHOT/WEB-INF/classes [INFO] Module name is api [DEBUG] Invoking compiler org.jetbrains.kotlin.cli.jvm.K2JVMCompiler@f48d6f2 with arguments: [DEBUG] destination=/Users/jacksenkline/Desktop/api/target/api-0.1.0-SNAPSHOT/WEB-INF/classes [DEBUG] classpath=/Users/jacksenkline/Desktop/api/target/api-0.1.0-SNAPSHOT/WEB-INF/classes:/Users/jacksenkline/.m2/repository/com/google/appengine/appengine-api-1.0-sdk/1.9.48/appengine-api-1.0-sdk-1.9.48.jar:/Users/jacksenkline/.m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar:/Users/jacksenkline/.m2/repository/jstl/jstl/1.2/jstl-1.2.jar:/Users/jacksenkline/.m2/repository/org/jetbrains/kotlin/kotlin-stdlib/1.0.6/kotlin-stdlib-1.0.6.jar:/Users/jacksenkline/.m2/repository/org/jetbrains/kotlin/kotlin-runtime/1.0.6/kotlin-runtime-1.0.6.jar:/Users/jacksenkline/.m2/repository/org/json/json/20160810/json-20160810.jar:/Users/jacksenkline/.m2/repository/redis/clients/jedis/2.9.0/jedis-2.9.0.jar:/Users/jacksenkline/.m2/repository/org/apache/commons/commons-pool2/2.4.2/commons-pool2-2.4.2.jar:/Users/jacksenkline/.m2/repository/io/jsonwebtoken/jjwt/0.7.0/jjwt-0.7.0.jar:/Users/jacksenkline/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.8.2/jackson-databind-2.8.2.jar:/Users/jacksenkline/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.8.0/jackson-annotations-2.8.0.jar:/Users/jacksenkline/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.8.2/jackson-core-2.8.2.jar [DEBUG] includeRuntime=false [DEBUG] jdkHome=(null) [DEBUG] noJdk=false [DEBUG] noStdlib=true [DEBUG] noReflect=false [DEBUG] module=(null) [DEBUG] script=false [DEBUG] kotlinHome=(null) [DEBUG] moduleName=api [DEBUG] […]

在更改Kotlin源文件时,使Intellij IDE运行Kotlin / Java注释处理

最近我开始使用Kotlin v1.2和Intellij IDEA v2017.3。 我在Kotlin中实现了一个注释处理器,当一个类使用支持的注释types进行注释时,它将在META-INF下写入一个资源文件。 我可以看到注释处理器正在处理另一个Maven项目,该项目正在使用实现作为依赖项。 如果我运行mvn clean compile ,META-INF下的文件在target / classes / META-INF中正确生成。 我的问题是,当源文件更改时,Intellij不启动注释处理器。 例如,如果我重命名注释的Kotlin类。 资源文件不会重新生成或更新。 (我还没有看到从Intellij工作的注释处理器…) 我还启用了注释处理,并在IDE中配置了“从项目类路径获取处理器”,如下所述。 我将项目导入为Maven项目,这里是我的pom.xml – 正如我所说的:在使用Maven构建时正在工作: 4.0.0 org.example usage 1 1.2.0 ${project.basedir}/src/main/kotlin ${project.basedir}/src/test/kotlin kotlin-maven-plugin org.jetbrains.kotlin ${kotlin.version} 1.8 kapt generate-sources kapt src/main/kotlin org.example.MyProcessor compile compile compile test-compile test-compile test-compile org.jetbrains.kotlin kotlin-stdlib ${kotlin.version} org.example processor 1 junit junit 4.12 test org.jetbrains.kotlin […]