您如何确定IntelliJ Idea发出的编译命令



我正在使用IntelliJ Idea编译一个简单的2文件Kotlin项目。我更喜欢使用命令行进行编译和运行。所以我想看看 IDE 发出了什么命令来编译和运行项目。我该怎么做?

如果你打算使用 kotlinc 来编译你的 2 个文件,你可以做这样的事情:

例子.kt

fun say() {
    println("hello world")
}

main.kt

fun main(args: Array<String>) {
    say()
}

然后运行以下命令将文件编译到名为 classes/ 的目录中:

kotlinc main.kt example.kt -d classes

而这个来运行它:

kotlin -classpath classes MainKt 

不完全是你想要的,但我知道获取编译器命令行的一种简单方法是使用调试日志级别运行项目的 Gradle 构建:

./gradlew compileKotlin --debug | grep 'compiler args'

你会得到这样的东西:

14:23:57.754 [调试] [org.gradle.api.Project] [KOTLIN] Kotlin 编译器参数: -d C:\yourProjectPath\build\kotlin-classes\main -cp -no-stdlib -no-reflect -module C:\Temp\kjps1937184266353217163kotlingradlepluginapi.script.xml -module-name kotlin-gradle-plugin-api -jvm-target 1.6 -Xadd-compiler-builtins -Xload-builtins-from-dependencies -language-version 1.1 -api-version 1.1 -Xcoroutines=warn

正如上面提到的CrazyCoder,作为对这个问题的回答,IntelliJ不会调用命令行程序来构建应用程序,而是调用编译器API。

作为这个问题的答案,IntelliJ IDEA有一种方法可以导出文件供Ant处理:Build->Generate Ant Build...可以检查该输出文件,也可以调用 Ant 来处理它,以查看需要运行哪些命令。

最新更新