私は2日間、内部のEclipseエラーと戦っています。私はEclipseの最新のSpring Tool Suiteエディションを実行しており、既存のMavenプロジェクトのコレクションをインポートしようとしています。私がそうするたびに、EclipseはNullPointerExceptionをスローしますが、エラーログビューからスタックトレースを利用できません。 EclipseにMavenプロジェクトを更新するように指示すると(Maven> Update Project)、再びNullPointerExceptionが発生します。今回は、エラーログビューに次のスタックトレースが表示されます。
Java.lang.NullPointerException
at org.Eclipse.wst.common.componentcore.internal.resources.VirtualResource.getProjectRelativePaths(VirtualResource.Java:119)
at org.Eclipse.wst.common.componentcore.internal.resources.VirtualFile.getUnderlyingFiles(VirtualFile.Java:104)
at org.Eclipse.wst.common.componentcore.internal.resources.VirtualFile.getUnderlyingResources(VirtualFile.Java:93)
at org.Eclipse.wst.common.componentcore.internal.resources.VirtualResource.exists(VirtualResource.Java:88)
at org.Eclipse.jst.common.internal.modulecore.util.ManifestUtilities.getNonBinaryComponentManifest(ManifestUtilities.Java:124)
at org.Eclipse.jst.common.internal.modulecore.util.ManifestUtilities.getManifest(ManifestUtilities.Java:81)
at org.Eclipse.jst.common.internal.modulecore.util.ManifestUtilities.getManifestClasspath(ManifestUtilities.Java:147)
at org.Eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getManifestClasspath(J2EEModuleVirtualComponent.Java:248)
at org.Eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.calculateManifestReferences(J2EEModuleVirtualComponent.Java:368)
at org.Eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.cacheManifestReferences(J2EEModuleVirtualComponent.Java:360)
at org.Eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.Java:176)
at org.Eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.Java:214)
at org.Eclipse.jst.j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.Java:207)
at org.Eclipse.m2e.wtp.WebProjectConfiguratorDelegate.configureClasspath(WebProjectConfiguratorDelegate.Java:386)
at org.Eclipse.m2e.wtp.WTPProjectConfigurator.configureClasspath(WTPProjectConfigurator.Java:107)
at org.Eclipse.m2e.jdt.internal.DefaultClasspathManagerDelegate.populateClasspath(DefaultClasspathManagerDelegate.Java:61)
at org.Eclipse.m2e.jdt.internal.BuildPathManager.getClasspath(BuildPathManager.Java:253)
at org.Eclipse.m2e.jdt.internal.BuildPathManager.getClasspath(BuildPathManager.Java:363)
at org.Eclipse.m2e.jdt.internal.BuildPathManager.getClasspath(BuildPathManager.Java:343)
at org.Eclipse.m2e.jdt.internal.BuildPathManager.getClasspath(BuildPathManager.Java:371)
at org.Eclipse.m2e.jdt.internal.BuildPathManager.updateClasspath(BuildPathManager.Java:191)
at org.Eclipse.m2e.jdt.internal.BuildPathManager.mavenProjectChanged(BuildPathManager.Java:180)
at org.Eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.notifyProjectChangeListeners(ProjectRegistryManager.Java:746)
at org.Eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.applyMutableProjectRegistry(ProjectRegistryManager.Java:865)
at org.Eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.Java:289)
at org.Eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration0(ProjectConfigurationManager.Java:369)
at org.Eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.Java:316)
at org.Eclipse.m2e.core.internal.project.ProjectConfigurationManager$2.call(ProjectConfigurationManager.Java:1)
at org.Eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.Java:161)
at org.Eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.Java:137)
at org.Eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.Java:89)
at org.Eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.Java:1301)
at org.Eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.Java:313)
at org.Eclipse.m2e.core.ui.internal.UpdateMavenProjectJob.runInWorkspace(UpdateMavenProjectJob.Java:77)
at org.Eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.Java:38)
at org.Eclipse.core.internal.jobs.Worker.run(Worker.Java:53)
これが私が試したものです:
私はこの問題で頭が痛い。オビ=ワン・ケノービ、私を助けてください。あなたは私の唯一の希望です。
Echinelliが示したように、これはEclipse(またはSTS)のバグであることが判明しましたが、最新バージョンをインストールすることは、私がすでにそのバージョンをインストールしているため、修正ではありません。私はEclipse 4.xに基づいてSTSをインストールしました。それをアンインストールして3.xバージョンに移行すると、問題は解消しました。
私は問題がMavenプラグインに関連していないことを強く確信しています。もしそうなら、あなたがmvn Eclipse:eclipse
プロジェクトをEclipseにインポートする前に、それを行ってMaven 3を使用している場合、MavenプラグインがまだMaven 3を適切にサポートしていないことを確認しました。ですから、mvn Eclipse:clean
、次にプロジェクトを既存のプロジェクトとしてインポートし、その後、EclipseからMavenプラグインネイチャーをアクティブ化します。それが役に立てば幸い
PS。 Eclipseの既知のバグのようです( https://www.google.com.uy/search?q=j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent.Java&oq = j2ee.componentcore.J2EEModuleVirtualComponent.getReferences(J2EEModuleVirtualComponent .Java&aqs = chrome..69i57.128j0j7&sourceid = chrome&espv = 210&es_sm = 91&ie = UTF-8) ;最新のEclipseバージョンをダウンロードしてみてください。私は仕事でkeplerを使用しており、maven/springプロジェクトで作業しており、それは正常に動作します。
幸運を!
これは私がそれを修正するためにしたことです:
.classpath
、.project
および.settings
フォルダこれは、m2eプラグインが破損しているために発生します。修正するには、以下の手順に従ってください。
わかりました、私にはもっと曖昧な理由で同じ問題がありました。
私はaspectj-maven-plugin
にpluginExecution
を使用し、コメントアウトしたもう1つのMavenの問題を修正する過程で<action><execute><execute></action>
を使用しました
これはnullpointerexception
につながります。
POMに「maven-compiler-plugin」アーティファクトを含む<build>
セクションを追加することで解決しました。これがないと、EclipseがJava.lang.NullPointerException
をスローしたことに気付きました。