簡體   English   中英

Visual Studio Code 無法識別 java 項目

[英]Visual Studio Code not recognizing java project

VS Code 無法識別我的 java 項目。 該項目是在這里找到的 minecraft mod 的模板代碼。 我安裝了插件

  • “Java 調試器”
  • “Java 擴展包”
  • “Redhat 對 Java 的語言支持”
  • “Java 測試運行程序”
  • “Java 項目經理”

我還收到與 gradle 相關的錯誤。

Could not run phased build action using connection to Gradle distribution 'https://services.gradle.org/distributions/gradle-7.0.2-bin.zip'.
java.io.StreamCorruptedException: invalid type code: 00
invalid type code: 00

這是我的 settings.json 文件

{
    "files.exclude": {
        "**/.classpath": true,
        "**/.project": true,
        "**/.settings": true,
        "**/.factorypath": true
    },
    "editor.suggestSelection": "first",
    "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
    "java.configuration.updateBuildConfiguration": "interactive",
    "java.home": "/usr/lib/jvm/java-16-openjdk-amd64",
    "java.configuration.runtimes": [
        {
          "name": "JavaSE-1.8",
          "path": "/usr/lib/jvm/java-8-openjdk-amd64",
          "default": true
        },
    ]
}

我的 Java 文件沒有代碼完成。 在它工作之前,在 visual studio 的右下角,它顯示了我正在使用的 java 版本,但現在它只顯示 Java。我假設它是因為 gradle 有問題,因此無法弄清楚我的 java 版本。 感謝您的時間。

更新:這似乎有效並給我自動完成,但我仍然收到上面提到的 gradle 相關錯誤。

{
    "files.exclude": {
        "**/.classpath": true,
        "**/.project": true,
        "**/.settings": true,
        "**/.factorypath": true
    },
    "editor.suggestSelection": "first",
    "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
    "java.configuration.updateBuildConfiguration": "interactive",
    "java.home": "/usr/lib/jvm/java-16-openjdk-amd64",
    "java.configuration.runtimes": [
        {
          "name": "JavaSE-1.8",
          "path": "/usr/lib/jvm/java-8-openjdk-amd64",
          "default": true
        },
        {
            "name": "JavaSE-16",
            "path": "/usr/lib/jvm/java-16-openjdk-amd64",
        },
    ]
}

對於遇到與我相同問題的任何人,請確保您的 settings.json 文件看起來與我的相似,包括 java 1.8 運行配置和 java 11+ 運行配置,與指定為主路徑的運行配置相同。 那應該修復 java 語言級別。 gradle 錯誤可以忽略,但必須使用 gradle runClient 而不是 vscode 提供的運行配置。 快樂改裝:D

就我而言,我通過創建一個新的 Java 項目並比較生成的文件解決了這個問題。 特別是我在.project中發現了缺失的條目

<buildSpec>
        <buildCommand>          <!-- was missing -->
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.m2e.core.maven2Builder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.jdt.core.javanature</nature> <!-- was missing -->
        <nature>org.eclipse.m2e.core.maven2Nature</nature>
    </natures>

.settings/org.eclipse.jdt.core.prefs中的一些設置也丟失了,但在我添加上述內容之前,它們並沒有立即解決問題。

當然,每次進行更改時都需要清理工作區(使用... -> clean workspace或命令面板Java > clean Java Language server workspace

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM