【问题标题】:VSCode Java access restriction error that HttpServer is not APIHttpServer不是API的VSCode Java访问限制错误
【发布时间】:2018-04-25 00:38:43
【问题描述】:

在带有 Redhat 的 Java 语言支持 v0.14.0 扩展的 VSCode v1.18.0 中,由于使用com.sun.net.httpserver.* 类,我在编辑器中收到错误通知,如下所示

当我调整创建 .classpath 文件的扩展时,所有红色波浪线都消失了

...
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/">
  <accessrules>
    <accessrule kind="accessible" pattern="com/sun/net/**"/>
  </accessrules>
</classpathentry>
...

问题是.classpath 文件似乎在 VSCode 重新启动时被覆盖。

更新:jdepsjdeprscan 都没有抱怨编译后的 jar

$ jdeps --version
9.0.1

$ jdeprscan --version
9.0.1

$ jdeps --jdk-internals ContactService-0.5.0.jar 

$ jdeprscan ContactService-0.5.0.jar
Jar file ContactService-0.5.0.jar:

有没有办法(例如,扩展程序的 java.jdt.ls.vmargs 设置的魔术参数?)使这些编辑器错误通知永久消失?

【问题讨论】:

    标签: java visual-studio-code


    【解决方案1】:

    我的 VS Code 不会重置 .classpath 文件。可能是你的版本?

    我正在使用:

    Version: 1.39.2 (user setup)
    Commit: 6ab598523be7a800d7f3eb4d92d7ab9a66069390
    Date: 2019-10-15T15:35:18.241Z
    Electron: 4.2.10
    Chrome: 69.0.3497.128
    Node.js: 10.11.0
    V8: 6.9.427.31-electron.0
    OS: Windows_NT x64 10.0.16299
    

    如果您使用的是 gradle,您可以按照此处的建议进行操作:https://github.com/redhat-developer/vscode-java/issues/120#issuecomment-450530640

    import org.gradle.plugins.ide.eclipse.model.AccessRule
    
    apply plugin: 'java'
    apply plugin: 'eclipse'
    
    eclipse {
        classpath {
            file {
                whenMerged {
                    def jre = entries.find { it.path.contains 'org.eclipse.jdt.launching.JRE_CONTAINER' }
                    jre.accessRules.add(new AccessRule('0', 'javafx/**'))
                    jre.accessRules.add(new AccessRule('0', 'com/sun/javafx/**'))
                }
            }
        }
    }
    

    只需根据您的需求进行更改

    【讨论】:

      猜你喜欢
      • 2017-04-27
      • 1970-01-01
      • 2015-07-06
      • 1970-01-01
      • 1970-01-01
      • 2015-04-23
      • 2013-08-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多