"Maven Projesi Güncelleniyor" sırasında dahili bir hata oluştu. java.lang.NullPointerException


91

Bir Java EE web projesi geliştiriyorum. Bir bağımlılık eklemeye çalıştığımda bu hata mesajı çıkıyor. Eclipse Kepler kullanıyorum.

"Maven Projesi Güncelleniyor" sırasında dahili bir hata oluştu. java.lang.NullPointerException

Bana yardım eder misin? Teşekkür ederim.

görüntü açıklamasını buraya girin


1
Tutulma kullanıyor musunuz? yığın izlemesinin tamamını gönderebilir misin? Bunu "Hata Günlüğü" Görünümünde bulabilirsiniz.
Pablo Lascano

çalışma alanı klasöründeki .metadata verilerinizi temizlerseniz bu sorunu çözebilirsiniz. Ancak çalışma alanınızın yapılandırmalarını kaybedersiniz. = (
Fernando Gomes

Yanıtlar:


155

Projedeki .settingsklasörü ve .projectdosyayı silerek ve ardından projeyi yeniden içe aktararak benimkini çözdüm.


5
Birçok şeyi denedim ve bunu benim için yapan .settings klasörüydü.
Simon

Bu yardımcı oldu! Ancak, aynı Çalışma Alanındaki bir projeye bazı pom bağımlılıklarını çözmek için Çalışma Alanı Çözünürlüğü kullandığım için, Çalışma Alanı Çözünürlüğünü devre dışı bırakmam, ardından Maven Doğayı Devre Dışı Bırakmam ve ardından Maven'i projede yeniden etkinleştirmem gerekti.
mcolley73

1
Benim için çalıştı Jep, bunun da (o güncellendi) artık yoktu bir Google App Engine sürümüne atıfta bulundu görünür
Dieter Hubau

Ayrıca yeniden içe aktarmadan önce tutulmayı yeniden başlatmak zorunda kaldı.
rakmoh

Tüm .settings dosyalarını silerek, Eclipse'den önce kapatarak çözdüm. Sonra bir maven güncellemesi yaptım.
isma.imc

25

Benim için bulunan cevabını çalıştı CodeRanch kullanıcı tarafından, Maneesh Godbole :

  1. Tutulmayı kapatın.
  2. "Çalışma alanı" klasörünüze gidin
  3. Gizli dosyaları görüntüleme ayarının açık olduğundan emin olun
  4. .Metadata dizinini tanımlayın ve silin
  5. Tutulmayı yeniden başlat
  6. Projeyi içe aktar

1
Burada benim için çalışan tek cevap buydu. .Settings ve .project varlıkları başlangıçta yeniden oluşturuldu ve meta veri klasörünü silene kadar aynı soruna neden oldu. +1 & thx!
Mark W

@MarkW Yardımcı olduğuna sevindim :-)
Eel Lee

Benim için çalışıyor, ancak tüm çalışma alanımı yeniden yapılandırmam gerekiyordu. = (
Fernando Gomes

tutulmadaki tüm ayarlarımı siliyor. Düzen, perspektifler ve renkler hepsi gitti.
Umut

6

Modüllerimden birinde aynı sorunu yaşadım.

Konsolda / cmd'de "mvn eclipse: eclipse" çalıştırmak benim için sorunu çözdü.


3

Bu problem pom.xmlörneğimizde, m2e'ye özgü yaşam döngüsü haritalama yapılandırmasının bulunduğu dosyalarımız vardı.

<pluginManagement>
    <plugins>
        <plugin>
            <groupId>org.eclipse.m2e</groupId>
            <artifactId>lifecycle-mapping</artifactId>
            <version>1.0.0</version>
            <configuration>
                <lifecycleMappingMetadata>
...

rolü yoktu <version>1.0.0</version>. Bir Maven -> Update Projesi yaparken ..., bu, yığın izleme olmadan bildirilen NullPointerException'a neden olur. Yeni bir İçe Aktar ... -> Mevcut Maven Projeleri kullanırken, aynı istisna oluştu, ancak yukarıdakileri bulmamı sağlayan bir yığın izleme ile.

(Eclipse Luna Service Release 2'de (4.4.2) m2e 1.6.1.20150625-2338 ile birliktedir.)


1
Bu benim için böyleydi. Sanırım açıklanan sorunun birçok farklı nedeni var.
Aleksandr Erokhin

2

Durumda silme ek olarak, herkes yardımcı olur .settingsve .projectben silmek zorunda kaldı .classpathve .factorypathEclipse içine başarıyla projeyi aktarmak için önce.


1

org.eclipse.m2e.core.prefs dosyası .settings klasöründedir. Sorunuyla karşı karşıya kalırsanız

An internal error occurred during: "Updating Maven Project". java.lang.NullPointerException

Projeyi tutulmadan silin, ardından projedeki .settings klasörünü ve .project dosyasını silerek -> ardından projeyi yeniden içe aktarın.


Bu cevap zaten mevcut ve en fazla oyu içeriyor, bu yüzden bir kopya göndermenin bir anlamı göremiyorum.
Eel Lee

"Org.eclipse.m2e.core.prefs" den söz eden oldu mu? Sorunun arkasındaki nedenin ne olduğunu söylemek istiyorum.
Jyoti Prakash

Belki ana Yanıta bir açıklama neden görüşmek için en iyi yerdir
J. Allen

1

Yukarıdaki yöntemlerden hiçbiri benim için işe yaramadı. Bu, tutulma çalışma alanınızdaki döngüsel bağımlılık nedeniyle de ortaya çıkabilir. Dolayısıyla, çalışma alanınızdaki diğer projelerden herhangi birinde mevcut başka hatalar varsa, bunları düzeltmeye çalışın ve sonra bu sorun ortadan kalkacaktır. Hatayı bu şekilde ortadan kaldırdım.


1

Bu bana yardımcı oldu: Project menu -> Clean... -> clean all projects



1

Eclipse'de bir hata günlüğü var. Orada tam yığın izini göreceksiniz. Benim durumumda, java.util.zip lib'leri ile birleştirilmiş kötü bir jar dosyasının uygun bir istisna oluşturmamasından, sadece bir NullPointerException'dan kaynaklanıyor gibi görünüyor.


Benim durumumda, bu senaryo Selenium'dan birkaç javadoc JAR tarafından tetiklendi, örneğin repo1.maven.org/maven2/org/seleniumhq/selenium/selenium-java/… . En Eclipse M2e için kaynak olarak git.eclipse.org/c/m2e/m2e-core.git/tree/org.eclipse.m2e.jdt/src/... , sen getJavaDocPathInArchive yöntemi beklemediğini söyledi görebilirsiniz En.nextElement () 'den NullPointerException.
Jeremy K

Görünüşe göre, bir ZIP dosyasının numaralandırılmasından kaynaklanan "NullPointerException" Java 9'da ( bugs.openjdk.java.net/browse/JDK-8048990 ) adresleniyor .
Jeremy K

1

Kullanıyorum:

Web Geliştiricileri için Eclipse Java EE IDE.

Sürüm: Neon.3 Sürüm (4.6.3) Yapı kimliği: 20170314-1500

Benim için düzeltme / numara, yerel bağımlılıkları kaldırmak ve yeni bağımlılıkların aşağı çekildiği projemi yeniden oluşturmak için ~ / .m2 / repository'deki yerel depomu silmek oldu.


0

Ben de aynı sorunu yaşadım. Buradaki çözümlerin hiçbiri işe yaramadı. Tutulmayı tamamen yeniden kurmam ve yeni bir çalışma alanı yapmam gerekiyordu. Sonra işe yaradı!


0

Aynı sorunu birden çok projede ve birden çok çalışma alanında yaşadım, çevrimiçi bulduğum çözümlerin hiçbiri benim için işe yaramadı. STS kullanıyorum ve işe yarayan tek şey STS dizinime gidip STS.ini dosyasının üstüne bir "-clean" eklemekti. Daha sonra çalışma alanınızı başlatabilir ve maven clean'i hatasız çalıştırabilirsiniz. (-clean etiketini ini dosyasından da kaldırabilirsiniz, böylece her başlattığınızda temizlenmez)

Umarım bu birine yardımcı olur.


0

Benim durumumdaki temel sorun, .settings klasöründeki bir dosya çakışmasıydı. Bu nedenle, .settings klasörünü silmek Maven hatasını çözebilirdi, ancak bazı yerel yapılandırma dosyalarımı saklamak istedim. Çatışmayı çözdüm, ardından bir Maven güncellemesini tekrar denedim ve işe yaradı.


0

Ben de aynı sorunu yaşadım ... sonunda çözüm!

İşte tutulma günlüğü:

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 çalışma zamanı türünü almaya çalışan "appengine maven wtp eklentisinden" geliyor, ancak burada boş görünüyor (... getRuntimeType () -> NPE):

bkz. class 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)) {

Dolayısıyla, tutulmayı kontrol ederseniz Google App Engine görünür, ancak onu seçtiğinizde hiçbir SDK'nın ilişkilendirilmediğini görürsünüz ... tercih / Sunucu / Çalışma zamanı ortamları

ÇÖZÜM: ekran görüntüsünde kırmızı ;-)


0

Aynı semptomla karşılaştım ve yukarıdaki çözümlerden hiçbiri yardımcı olmadı. Sonunda ear projesini tekrar tutulmaya aktararak sorunun bir yığın izini buldum ve bunu, Windows'un "adlı geçici dizinindeki bir dizini silmeye çalışan org.eclipse.m2e.wtp.MavenDeploymentDescriptorManagement'a kadar izleyebildim. .mavenDeploymentDescriptorManagement ", java.io.File.exists () yönteminden irrasyonel bir NullPointerException neden oldu, özellikle de kodun aynı değişkenle önceki bir yöntemde aynı şeyi başarıyla yapmış olması ve ardından file.isFile () sorun.

Bunu dosya sisteminde kontrol etmek, dosyaya yalnızca yönetici ayrıcalıklarıyla erişilebileceğini ortaya çıkardı. Görünüşe göre bir noktada yanlışlıkla tutulmayı bir yönetici konsolundan başlatmıştım. Sonunda, gizli dosyaları Windows gezgininde görünür hale getirdim ve geçici dosyayı manuel olarak sildim, bu da sorunu çözdü.


0

Sorunun başka bir olası kaynağı!

Benim durumumda buna resourceneden olan aşağıdaki blok olduğunu öğrendim :

<project>
    <build>
        <resources>
            <resource>
                <directory>${basedir}/../some-folder</directory>
                <targetPath>outputFolder</targetPath>
            </resource>
        <resources>
    </build>
</project>

Proje klasöründen bir klasör içeriyordu ( eclipse projesi , sürümü belirlenmiş proje klasörünün bir alt klasörüdür ).

Benim durumumda, bloğu kaldırarak ve bunu Build helper Maven eklentisine yapılan bir çağrı ile değiştirerek hatayı kaldırabilirim :

<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>

0

Eclipse'i yeniden yüklemek, .m2 klasörünü silmek ve kavanozları yeniden oluşturmak zorunda kaldım.


0

Benim durumumda, sorun, diğer bağımlılıklar tarafından kullanılan türetilmiş bağımlılıkların çatışmasıydı ve bu türetilmiş bağımlılık sürümlerinden bazıları mevcut değildi, belki de yapmayı unuttuğum bazı dağıtımlar çünkü çalışma alanı çözünürlüğünde her şey çalıştı, ancak taşınırken diğer ortama birdenbire bozuldu. Ayrıca sürüm aralıklarıyla çalışıyordum

maven bana şu hatayı veriyordu:

MyProject projesi için bağımlılıklar çözülemedi: MyProject: jar: 1.0.0: Bağımlılık-A: 1.0.1 -> Bağımlılık-B: 1.1.0 -> Bağımlılık-C: 1.0.0 , Bağımlılık- arasındaki sürüm çakışması çözülemedi X: 1.0.1 -> Bağımlılık-Y: 1.1.0 -> Bağımlılık-C: 1.0.0 , Bağımlılık-I: 1.0.1 -> Bağımlılık-J: 1.1.0 -> Bağımlılık-C: 1.0.0

Yukarıdakilerin hepsini denedim ve hiçbir şey işe yaramadı, bu yüzden ...

ÇÖZÜM : En son sürümü tüm bağımlılıklarda sürüm olarak kullanın, böylece maven'in aralıklardaki tüm bağımlılıkları çözmesine gerek kalmaz, bu bağımlılıklardan birini dağıtmayı kaçırırsanız derleme başarısız olur.

Yalnızca kendi bağımlılıklarınız ile çalışıyorsanız EN SON'u kullanmanızı öneririm, aksi takdirde gelecekteki üçüncü taraf sürümlerinde bazı derleme veya çalışma zamanı hataları bulabilirsiniz.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.