私はJava EE Webプロジェクトを開発しています。依存関係を追加しようとすると、このエラーメッセージが表示されます。 Eclipse Keplerを使用します。
「Mavenプロジェクトの更新中」に内部エラーが発生しました。 Java.lang.NullPointerException
私たちを手伝ってくれますか?ありがとうございました。
プロジェクト内の.settings
フォルダーと.project
ファイルを削除し、プロジェクトを再インポートすることで解決しました。
私にとって CodeRanch 、ユーザーによるManeesh Godbole:
- Eclipseを閉じます。
- 「ワークスペース」フォルダーに移動します
- OSで隠しファイルを表示する設定がオンになっていることを確認します
- .metadataディレクトリを特定して削除する
- Eclipseを再起動します
- インポートプロジェクト
モジュールの1つでも同じ問題が発生しました。
Console/cmdで「mvn Eclipse:eclipse」を実行すると、問題が解決しました。
この問題のインスタンスでは、m2e固有のライフサイクルマッピング構成のpom.xml
ファイルがありました
<pluginManagement>
<plugins>
<plugin>
<groupId>org.Eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
...
<version>1.0.0</version>
部分がありませんでした。 Maven-> Update Project ...を実行すると、スタックトレースなしで報告されたNullPointerExceptionが発生します。新しいインポート...->既存のMavenプロジェクトを使用すると、同じ例外が発生しましたが、スタックトレースにより上記を見つけることができました。
(これは、Eclipse Luna Service Release 2(4.4.2)のm2e 1.6.1.20150625-2338で行われます。)
誰かに役立つ場合は、.settings
と.project
を削除することに加えて、プロジェクトをEclipseに正常にインポートする前に.classpath
と.factorypath
を削除する必要がありました。
私は使用しています:
Eclipse Java EE IDE Web開発者向け。
バージョン:Neon.3リリース(4.6.3)ビルドID:20170314-1500
私の修正/トリックは、ローカルの依存関係を削除するために〜/ .m2/repositoryのローカルリポジトリを削除し、新しい依存関係がプルダウンされたプロジェクトを再構築することでした。
ローカルMavenリポジトリを削除すると助けてくれました
org.Eclipse.m2e.core.prefsファイルは。settingsフォルダーにあります。あなたがの問題に直面した場合
An internal error occurred during: "Updating Maven Project". Java.lang.NullPointerException
Eclipseからプロジェクトを削除してから、プロジェクト内の。settingsフォルダーおよび。projectファイルを削除してから、プロジェクトを再インポートします。
これは私を助けました:Project menu -> Clean... -> clean all projects
Eclipseにはエラーログがあります。そこに完全なスタックトレースが表示されます。私の場合は、Java.util.Zip libsと組み合わされた不良jarファイルが適切な例外をスローせず、単にNullPointerExceptionをスローしたことが原因のようです。
複数のプロジェクトと複数のワークスペースで同じ問題が発生しましたが、オンラインで見つけたソリューションはどれも役に立ちませんでした。私はSTSを使用していますが、唯一機能したのは、STSディレクトリに移動して、STS.iniファイルの先頭に「-clean」を追加することだけでした。その後、ワークスペースを起動して、maven cleanをエラーなしで実行できます。 (iniファイルから-cleanタグを削除して、起動するたびにクリーンにならないようにすることもできます)
これが誰かを助けることを願っています。
同じ問題がありました。ここでの解決策はどれもうまくいきませんでした。 Eclipseを完全に再インストールして、新しいワークスペースを作成する必要がありました。それでうまくいきました!
問題の別の可能性のある原因!
私の場合、次のresource
ブロックが原因であることがわかりました。
<project>
<build>
<resources>
<resource>
<directory>${basedir}/../some-folder</directory>
<targetPath>outputFolder</targetPath>
</resource>
<resources>
</build>
</project>
プロジェクトフォルダーのフォルダーが含まれていました(Eclipseプロジェクトはバージョン管理されたプロジェクトフォルダー)のサブフォルダーです。
私の場合、ブロックを削除し、それを Build helper Mavenプラグインの呼び出しに置き換えることで、エラーを削除できます。
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.9.1</version>
<executions>
<execution>
<id>my-own-very-cool-id-for-this-step</id>
<phase>generate-resources</phase>
<goals>
<goal>add-resource</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>${basedir}/../some-folder</directory>
<targetPath>outputFolder</targetPath>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
上記の方法はどれもうまくいきませんでした。これは、Eclipseワークスペースに循環依存関係が存在するためにも発生する可能性があります。したがって、ワークスペース内の他のプロジェクトに他のエラーが存在する場合は、それらを修正しようとすると、この問題は解消されます。これは私がエラーを排除する方法です。
この同じ症状が発生しましたが、上記の解決策はどれも役に立ちませんでした。私はついにEarプロジェクトをEclipseに再度インポートすることで問題のスタックトレースを取得し、これをorg.Eclipse.m2e.wtp.MavenDeploymentDescriptorManagementまで追跡することができました。 Java.io.File.exists()メソッドから不合理なNullPointerExceptionが発生しました。これは特に、コードが同じ変数を使用して以前のメソッドで同じことを正常に実行し、その後でfile.isFile()問題。
ファイルシステムでこれを確認すると、ファイルには管理者権限でしかアクセスできないことが判明しました。ある時点で、誤って管理コンソールからEclipseを起動したようです。最後に、Windowsエクスプローラーで隠しファイルを表示し、一時ファイルを手動で削除するだけで問題が解決しました。
私の場合、問題は他の依存関係によって使用された派生依存関係の競合であり、一部の派生依存関係バージョンは利用できませんでした。他の環境へのすべてが突然壊れました。そして、私はバージョン範囲で働いていました
mavenは私にこのエラーを与えていました:
プロジェクトMyProject:MyProject:jar:1.0.0の依存関係を解決できませんでした:Dependency-A:1.0.1-> Dependency-B:1.1.0-> Dependency-C:1.0。、依存関係-X:1.0.1->依存関係-Y:1.1.0-> 依存関係-C:1.0.、依存関係-I:1.0.1->依存関係-J :1.1.0-> Dependency-C:1.0.
上記のすべてを試しましたが、何も機能しませんでしたので...
解決策:すべての依存関係で最新バージョンをバージョンとして使用します。したがって、mavenは範囲内のすべての依存関係を解決する必要はありません。失敗します
独自の依存関係で作業している場合はLATESTを使用することをお勧めします。そうでない場合、サードパーティの将来のバージョンでは、コンパイルまたはランタイムエラーが見つかる可能性があります
私の場合の根本的な問題は、.settingsフォルダー内のファイルの競合でした。そのため、.settingsフォルダーを削除するとMavenエラーは解決しますが、ローカル構成ファイルの一部を保持したかったのです。競合を解決してから、Mavenの更新をもう一度試してみましたが、うまくいきました。
Eclipseを再インストールし、.m2フォルダーを削除して、jarを再構築する必要がありました。
私は同じ問題を抱えていました...最後に解決策!
ここでEclipseログ:
Java.lang.NullPointerException
at com.google.appengine.Eclipse.wtp.maven.GaeRuntimeManager.getGaeRuntime(GaeRuntimeManager.Java:85)
at com.google.appengine.Eclipse.wtp.maven.GaeRuntimeManager.ensureGaeRuntimeWithSdk(GaeRuntimeManager.Java:55)
at com.google.appengine.Eclipse.wtp.maven.GaeFacetManager.addGaeFacet(GaeFacetManager.Java:59)
at com.google.appengine.Eclipse.wtp.maven.GaeProjectConfigurator.configure(GaeProjectConfigurator.Java:46)
... GAEランタイムのタイプを取得しようとする「appengine maven wtpプラグイン」から取得されますが、ここではnullのようです(... getRuntimeType()-> NPE):
クラスを参照 com.google.appengine.Eclipse.wtp.maven/GaeRuntimeManager.Java
private static IRuntime getGaeRuntime(String sdkVersion) {
IRuntime[] runtimes = ServerCore.getRuntimes();
for (IRuntime runtime : runtimes) {
if (runtime != null && **runtime.getRuntimeType()**.equals(GAE_RUNTIME_TYPE)) {
したがって、Eclipseでチェックすると、Google App Engineが表示されますが、選択するとSDKが関連付けられていないことがわかります...
SOLUTION:スクリーンショットの赤;-)