redhat-developer / redhat-developer/vscode-java

Pom include lifecycle-mapping, An error occurred: Java Model Exception: Java Model Status

未关闭
#1,402 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

Maven
主要语言
TypeScript
星标
2.3k
派生
546
平均合并
20 小时 1 分钟
30 天内合并 PR
11

描述

An error will be reported when the Mavne project contains:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<!-- ... -->
	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<!-- ... -->
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
</project>

error log output

[Error - 上午11:12:02] 2020-4-21 11:12:02 Problem load project library 
test does not exist
Java Model Exception: Java Model Status [test does not exist]
	at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:573)
	at org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfoCheckExistence(JavaModelManager.java:2526)
	at org.eclipse.jdt.internal.core.JavaProject.getPerProjectInfo(JavaProject.java:2347)
	at org.eclipse.jdt.internal.core.JavaProject.getRawClasspath(JavaProject.java:2376)
	at com.microsoft.jdtls.ext.core.PackageCommand.getContainers(PackageCommand.java:239)
	at com.microsoft.jdtls.ext.core.PackageCommand.getChildren(PackageCommand.java:103)
	at com.microsoft.jdtls.ext.core.CommandHandler.executeCommand(CommandHandler.java:31)
	at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler$1.run(WorkspaceExecuteCommandHandler.java:215)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
	at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler.executeCommand(WorkspaceExecuteCommandHandler.java:205)
	at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$3(JDTLanguageServer.java:477)
	at org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:74)
	at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)
	at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
	at java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:443)
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Environment
  • Operating System: OSX 10.15.4
  • JDK version: 1.8
  • Visual Studio Code version: 1.44.1
  • Java extension version: 0.60
Steps To Reproduce
mvn archetype:generate                               \
      -DarchetypeGroupId=org.apache.flink              \
      -DarchetypeArtifactId=flink-quickstart-java      \
      -DarchetypeVersion=1.10.0
Current Result

use vscode open project, No error message. But will fail to build. Only view the error message through the Output panel

when I remove lifecycle-mapping from pom.xml, Extension works good.

Expected Result

At least give an obvious error message. Best to solve this problem.

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

使用提供的 mvn archetype:generate 命令重现该问题,并检查 PackageCommand.getContainers 和 PackageCommand.getChildren,堆栈跟踪在此处报告了失败。比较有无 lifecycle-mapping plugin 时的行为;当项目能够在没有 Java Model Exception 的情况下加载,或者显示明显的错误而不是静默失败时,即表示完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
java, vscode
领域
build-system
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。