你如何确定IntelliJ Idea发布的编译命令?
我正在使用IntelliJ Idea来编译一个简单的2-Kotlin项目。 我宁愿使用命令行来编译和运行。 所以我想看看IDE发布什么命令来编译和运行项目。 我该怎么做?
如果你打算使用kotlinc
来编译你的2个文件,你可以这样做:
example.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 =警告
正如上面CrazyCoder所提到的, 作为对这个问题的回答, IntelliJ不会调用命令行程序来构建应用程序,而是调用编译器API。
也提到这个问题的答案是,IntelliJ IDEA有一个方法来导出一个Ant的文件进行处理: Build-> Generate Ant Build …。 可以检查输出文件,或者调用Ant来处理它,以便查看需要运行的命令。