无法让COC-JAVA与Gradle离线工作
我试图让COC-Java在无法访问Internet的环境中工作。我通过Internet访问生成了设置,并将其传输到离线环境中,但是当我打开Java文件并执行:Coccommand workspace.showOutput
并选择coc-java
,i从开始获取一个堆栈Trace,无法下载已发布的Gradle版本。 at rog.eclipse.buildship.core.internal.util.gradle.gradle.publygradleversions.downloadversionInformation(upparedgradleversions.java:165)
... ... /代码>。我已经安装了Gradle 7.4.2,并且在
〜/.vim/.vim/coc-settings.json
中具有以下设置:
"java.enabled" : true,
"java.autobuild.enabled": true,
"java.codeGeneration.generateComments": true,
"java.implementationsCodeLens.enabled": true,
"java.referencesCodeLens.enabled": true,
"java.completion.enabled" : true,
"java.foldingRange.enabled" : true,
"java.format.comments.enabled" : true,
"java.format.enabled" : true,
"java.format.onType.enabled" : true,
"java.home" : "/usr/java/jdk-11.0.2",
"java.import.gradle.enabled": true,
"java.import.gradle.offline.enabled": true,
"java.import.gradle.home": "/home/me/.opt/gradle/gradle-7.4.2",
"java.import.gradle.user.home": "/home/me/.gradle",
"java.import.gradle.version": "7.4.2",
"java.import.gradle.wrapper.enabled": false,
"java.import.maven.enabled": true,
"java.progressReports.enabled" : false,
"java.trace.server": "verbose",
"java.configuration.runtimes": [
{
"name": "JavaSE-11",
"path": "/usr/java/jdk-11.0.2",
"default": true
}
]
COC-JAVA文档对java.import.gradle表示了这一点。主页
:如果缺少或禁用了Gradle包装器,则使用指定的本地安装目录或Gradle_home使用Gradle,并且未指定“ Java.import.gradle.version”。
我也尝试删除java.import.gradle.version
,但也会发生同样的问题。
鉴于StackTrace提到了Eclipse BuildShip,我尝试搜索如何更改Eclipse/BuildShip设置,但无法找到如何配置离线设置,即使有可能的话。是否有人能够让COC-Java与Gradle离线工作?
I am trying to get coc-java to work in an environment where I don't have internet access. I generated my setup with internet access and transferred it to the offline environment, but when I open a java file and do :CocCommand workspace.showOutput
and choose coc-java
, I get a stacktrace beginning with Cannot download published Gradle versions. at org.eclipse.buildship.core.internal.util.gradle.PublishedGradleVersions.downloadVersionInformation(PublishedGradleVersions.java:165)
...Caused by: java.net.UnknownHostException: services.gradle.org
. I have gradle 7.4.2 already installed, and have the following settings in ~/.vim/coc-settings.json
:
"java.enabled" : true,
"java.autobuild.enabled": true,
"java.codeGeneration.generateComments": true,
"java.implementationsCodeLens.enabled": true,
"java.referencesCodeLens.enabled": true,
"java.completion.enabled" : true,
"java.foldingRange.enabled" : true,
"java.format.comments.enabled" : true,
"java.format.enabled" : true,
"java.format.onType.enabled" : true,
"java.home" : "/usr/java/jdk-11.0.2",
"java.import.gradle.enabled": true,
"java.import.gradle.offline.enabled": true,
"java.import.gradle.home": "/home/me/.opt/gradle/gradle-7.4.2",
"java.import.gradle.user.home": "/home/me/.gradle",
"java.import.gradle.version": "7.4.2",
"java.import.gradle.wrapper.enabled": false,
"java.import.maven.enabled": true,
"java.progressReports.enabled" : false,
"java.trace.server": "verbose",
"java.configuration.runtimes": [
{
"name": "JavaSE-11",
"path": "/usr/java/jdk-11.0.2",
"default": true
}
]
The coc-java docs says this about java.import.gradle.home
: Use Gradle from the specified local installation directory or GRADLE_HOME if the Gradle wrapper is missing or disabled and no 'java.import.gradle.version' is specified.
I've tried removing java.import.gradle.version
as well, but same issue occurs.
Given that the stacktrace mentions eclipse buildship, I've tried Googling how to change eclipse/buildship settings, but haven't been able to find out how to configure offline settings, if that's even possible. Has anyone been able to get coc-java to work offline with gradle?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
tl; d dr
将gradle-bin zip文件放入
$ gradle_user_home/warpper/dists/gradle-< some-ver-gt; -bin/< some-hash>/code>
long版本
我终于设法hack hack我四处走走。即使在
coc-settings.json
中设置了两个属性:... ...似乎仍然试图从
services> services.gradle.org
中获取Gradle-7.1.1。在查看$ gradle_user_home
之后,我注意到包装器
目录,尽管从未将Gradle-wrapper用于任何东西,所以我更深入地挖了。经过大量播放后,我设法通过服用gradle-7.4.2-bin.zip
文件来使它起作用/gradle-7.1.1-bin/f29rtwfnc96ub43tt7p47zsru/。我不确定该哈希价值的重要性,也不确定为什么要指向Gradle的7.1.1版本,但是在将zip文件放在那里并打开Java文件后,它继续创建gradle-7.4.2。
该哈希文件夹下面的文件夹,其中有下面所需的所有内容,而COC命令开始工作!TL;DR
Place the gradle-bin zip file in
$GRADLE_USER_HOME/wrapper/dists/gradle-<some-version>-bin/<some-hash>/
Long Version
I finally managed to hack my way around it. Even with the two properties set in
coc-settings.json
:... It still seemed to be trying to fetch gradle-7.1.1 from
services.gradle.org
. After taking a look in$GRADLE_USER_HOME
, I noticed awrapper
directory, despite never using gradle-wrapper for anything, so I dug deeper. After a lot of playing around, I managed to get it to work by taking agradle-7.4.2-bin.zip
file I already had and placing it in$GRADLE_USER_HOME/wrapper/dists/gradle-7.1.1-bin/f29rtwfnc96ub43tt7p47zsru/
. I'm not sure the significance of that hash value nor why it would point to version 7.1.1 of gradle, but after putting the zip file there and opening a java file, it proceeded to create thegradle-7.4.2
folder under that hash folder with everything needed underneath, and coc commands started to work!