VSCode远程SSH下Java Language Server无法识别pom.xml依赖
解决VSCode Remote SSH下Java Language Server无法识别Atlassian Plugin SDK项目的问题
核心原因
Java Language Server(Eclipse JDT LS)与Maven for Java扩展的配置相互独立。你已为Maven for Java指定了Atlassian SDK的Maven路径和全局设置,但JDT LS默认未读取这些配置,导致无法识别atlassian-plugin打包类型及相关插件依赖。
解决步骤
1. 配置远程VSCode的Java Language Server Maven参数
打开远程会话的settings.json(通过Ctrl+Shift+P → 选择Remote: Open Remote Settings),添加以下配置项:
{ "java.configuration.maven.userSettings": "/path/to/your-atlassian-sdk/apache-maven-3.5.4/conf/settings.xml", "java.configuration.maven.globalSettings": "/path/to/your-atlassian-sdk/apache-maven-3.5.4/conf/settings.xml", "java.configuration.maven.executable": "/path/to/your-atlassian-sdk/apache-maven-3.5.4/bin/mvn" }
替换/path/to/your-atlassian-sdk为你实际的Atlassian Plugin SDK安装路径。
2. 重置Java Language Server工作区
- 打开命令面板(
Ctrl+Shift+P),执行Java: Clean Java Language Server Workspace - 重启VSCode Remote会话,让新配置生效
3. 验证远程Maven环境(可选)
在VSCode远程终端中执行以下命令,确认环境变量指向正确的Maven:
echo $M2_HOME mvn -v
输出应显示Atlassian SDK自带的Apache Maven 3.5.4路径。
4. 确认项目pom.xml的仓库配置
确保项目pom.xml中包含Atlassian的仓库配置,JDT LS需要通过这些仓库拉取插件和依赖:
<repositories> <repository> <id>atlassian-public</id> <url>https://packages.atlassian.com/maven/public</url> <snapshots> <enabled>true</enabled> <updatePolicy>daily</updatePolicy> <checksumPolicy>warn</checksumPolicy> </snapshots> <releases> <enabled>true</enabled> <checksumPolicy>warn</checksumPolicy> </releases> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>atlassian-public</id> <url>https://packages.atlassian.com/maven/public</url> <snapshots> <enabled>true</enabled> <updatePolicy>daily</updatePolicy> <checksumPolicy>warn</checksumPolicy> </snapshots> <releases> <enabled>true</enabled> <checksumPolicy>warn</checksumPolicy> </releases> </pluginRepository> </pluginRepositories>
内容的提问来源于stack exchange,提问作者DPS100
相关产品推荐
相关产品推荐

