我剛安裝: IntelliJ IDEA 2021.2.3(社區版)和 jdk-16.0.2
在 IntelliJ 中,我創建了一個新專案:
檔案->新建->專案
然后選擇:
語言:科特林,
構建系統:Gradle,
專案 SDK,16 版本 16.0.2
其他一切我都保持原樣。
它創建專案。
我去HelloApplication.kt點擊功能旁邊的“播放” main()。
我收到此錯誤:
Error occurred during initialization of boot layer java.lang.module.FindException: Error reading module: C:\Users\User\IdeaProjects\demo\build\classes\java\main Caused by: java.lang.module.InvalidModuleDescriptorException: Package com.example.demo not found in module
誰能指導我如何讓它作業?為什么該專案不能開箱即用?
uj5u.com熱心網友回復:
正如安德烈在評論中所指出的,這似乎是一個已知的錯誤:
- https://youtrack.jetbrains.com/issue/KTIJ-11511
問題的根本原因在隨附的 youtrack 案例中進行了解釋。
當使用 Java 平臺模塊系統時,這似乎是 Idea 中 Kotlin Gradle 的一個普遍問題,并且這不是 Gradle JavaFX Kotlin“New JavaFX Project”向導創建的代碼的特定問題(這就是我所假設的)。
我在我的環境 (OS X) 中嘗試了它,按照您在問題中提供的相同步驟和版本,我得到了與您相同的結果。
IntelliJ IDEA 2021.2.3(社區版)目前在使用 Idea New JavaFX 專案向導生成和使用 JavaFX Gradle Kotlin 專案的方式上存在一些錯誤和錯誤。
處理這些問題的適當方法是在 Idea 問題跟蹤器中為 IntelliJ 創建錯誤請求。
一個新專案(按照問題中的描述創建)將在您第一次嘗試運行時起作用,然后它將失敗并顯示錯誤(也如問題中所述):
Error occurred during initialization of boot layer java.lang.module.FindException: Error reading module: C:\Users\User\IdeaProjects\demo\build\classes\java\main Caused by: java.lang.module.InvalidModuleDescriptorException: Package com.example.demo not found in module- 為了解決這個問題,您可以在每次嘗試在 IDE 中運行應用程式之前手動洗掉該
build目錄。
- 為了解決這個問題,您可以在每次嘗試在 IDE 中運行應用程式之前手動洗掉該
當專案運行時,它沒有正確設定模塊路徑并從類路徑運行 JavaFX,這將生成以下警告:
(WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @4a072657').- 這是一個警告,您的應用程式仍將運行,但不建議這樣做。您可以忽略(風險自負)或修復運行時配置以在模塊路徑中包含 JavaFX 模塊。
- 請參閱以下有關設定模塊路徑的問題中的資訊:
- IntelliJ 無法使用 OpenJDK 11 識別 JavaFX 11
我遇到的另一個問題是,如果您只使用默認值,如果已經有一個名為 的專案
demo,它會嘗試創建一個以demo1包和模塊名稱命名的專案,包括該字串,從而導致檢查警告:Module name component 'demo1' should avoid terminal digits- 這只是向導的另一個問題,與您的具體問題無關。有關更多資訊,請參閱#VersionsInModuleNames。
- 使用該向導時,請確保在創建專案之前將用于創建模塊名稱的任何默認專案名稱更改為有效名稱(例如不以數字結尾的名稱)。
建議
希望這些只是 Intellij 將在適當時候解決的短期問題。
我在 Idea 中使用 Kotlin Maven 而不是 Kotlin Gradle 嘗試了一個新專案,并且在每次執行后無需手動洗掉構建目錄即可作業。我建議,如果你只是在試驗,那么就使用 Kotlin Maven JavaFX 組合,至少在 Kotkin Mavaen Gradle 向導作業得更好之前。
如果構建系統對您很重要并且應該是 Gradle,那么您現在需要自己做一些更多的作業。嘗試此答案中建議的一些修復程式,或者查看openjfx.io 上的其他一些資訊,或者查看一些使用 Gradle 的開源 JavaFX 專案,并可能進行一些更多的自定義更改。
Or, look at a demo project using TornadoFX, which is a JavaFX Kotlin based framework. TornadoFX has a quick start, which may help, but I have not used it (however, I think it is Maven based not Gradle based).
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/353017.html
