Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Java cannot resolve Kotlin imports in a mixed Maven project despite successful compilation

未關閉
#4,537 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

維護者通常 1 天內回覆

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
48/100
Issue 類型
缺陷
描述清晰度
基本清楚
活躍度
活躍
技術堆疊
java, kotlin
領域
tooling

研究方向

First build the missing evidence the issue admits is absent: a minimal Java/Kotlin Maven reproducer (kotlin-maven-plugin before maven-compiler-plugin) plus the redhat.java output log with java.projectConfiguration.logs and java.project.classpath inspection, confirming whether target/classes output and src/main/kotlin are registered in the JDT-LS project model. Then check how m2e computes classpath entries and whether java.autobuild.enabled: false prevents the .class file from being picked up. Done means either unresolved-import diagnostics disappear for the reproducer, or the limitation is confirmed and documented with a recommended configuration.

由索引模型根據 Issue 內容生成。

描述

bug

Describe the bug

In a mixed Java/Kotlin Maven project, the Java extension cannot resolve an import of a public Kotlin class defined in the same project. Maven compilation succeeds, and the corresponding .class file exists, but the editor continues to report unresolved import and type errors.

Example diagnostics (package and class names anonymized):

The import com.example.SampleTable cannot be resolved
SampleTable cannot be resolved to a type

The problem persists after running Java: Reload Projects and Java: Clean Java Language Server Workspace.

To Reproduce

Steps observed in the existing project:

  1. Open a mixed Java/Kotlin Maven project in VSCode, with Java sources under src/main/java and Kotlin sources under src/main/kotlin.
  2. Configure Maven to compile Kotlin before Java using kotlin-maven-plugin and maven-compiler-plugin.
  3. Import and use a public Kotlin class from a Java file in the same project.
  4. Run Maven compilation manually. The build completes with BUILD SUCCESS.
  5. Open the Java file. The import and usages of the Kotlin type are marked as unresolved.
  6. Reload the Java projects and clean the Java language server workspace. The diagnostics persist.

Sample project: An independent minimal reproducer has not yet been prepared. The steps above describe observations in the existing project.

Logs: The same unresolved import and type diagnostics were found in the Java language server log. No log file is attached yet.

Expected behavior

The Java extension should resolve the Kotlin type in the same Maven project, including after Maven has successfully compiled it. If this scenario is unsupported, guidance on the limitation and recommended configuration would be helpful.

Screenshots

No screenshots attached. The diagnostic text is included above.

Environment

  • Operating System: Windows_NT x64 10.0.19045 (VSCode client); the project and extensions are on Linux via VSCode Server. The remote connection method is not specified here.
  • JDK version: Not yet confirmed for either the Java language server or Maven. The project's Java/Kotlin JVM compilation target is 11.
  • Visual Studio Code version: 1.122.1 (user setup), commit 8761a5560cfd65fdd19ce7e2bd18dab5c0a4d84e.
  • Java extension version: redhat.java 1.56.0.
  • Kotlin extension version: fwcd.kotlin 0.2.36.
  • Kotlin Maven plugin version: 2.0.0.
  • Maven version: Not yet confirmed.

Additional Information

  • The Kotlin class is public, and its package matches the Java import.
  • The generated class exists under target/classes and can be inspected using javap.
  • The inspected cached Java language server classpath does not include a source entry for src/main/kotlin. It lists target/classes as an output directory. These are observations, not a confirmed root cause.
  • The workspace setting java.autobuild.enabled is false. Maven compilation was run manually; the effect of enabling automatic builds has not been tested.
  • Is this a known limitation of Java/Kotlin interoperability, or a type-resolution defect? Is there an existing issue or a recommended configuration for this setup?
主要語言
TypeScript
星號
2.3k
分支
549
平均合併
7 小時 59 分鐘
30 天內合併 PR
5

環境準備

  • 沒有 Dockerfile 或 Docker Compose 檔案
  • 沒有 Pull Request 範本
  • 閱讀貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

redhat-developer/vscode-java 的其他 Issue

查看 redhat-developer/vscode-java 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。