我有一個混合了Java和Kotlin文件的項目。直到最近我已經成功地在命令行中使用一個簡單的腳本,這樣編譯它:從命令行編譯與jar依賴的Kotlin
export CLASSPATH=java/main
# compile Kotlin files
find java/main/ -type d \
| xargs kotlinc-jvm -cp java/lib/google-collections-0.9.jar -d java/main/
# compile Java files
find java/main/ -name '*.java' | xargs javac
然後我開始使用JGraphT庫,使創建的jgrapht罐子扶養。該庫是從Kotlin文件引用的。我仍然可以從IntelliJ編譯我的項目,但無法使命令行腳本正常工作。
這是我曾嘗試:
罐子添加到CLASSPATH。不起作用。 Kotlin編譯器沒有看到它。它可能會忽略CLASSPATH。
添加罐子作爲另一個
-cp
參數:find java/main/ -type d \ | xargs kotlinc-jvm \ -cp java/lib/google-collections-0.9.jar \ java/lib/jgrapht-core-0.9.1.jar \ -d java/main/
然後我得到以下錯誤:
error: source entry is not a Kotlin file: java/lib/jgrapht-core-0.9.1.jar
我在做什麼錯?
這是一個小型的愛好項目,主要與Kotlin玩耍。這就是爲什麼我沒有使用任何構建系統,比如Ant或Gradle。 (另一個原因是我沒有任何這些經驗,他們看起來很可怕:))
正確,它使用當前操作系統路徑分隔符。 –