ошибка пружины во время сборки

Я должен сделать небольшой сайт, используяspring, поэтому я выбралspring template project затемnew spring mvc project что бы я ни старалсяпроизошла ошибка

Errors occurred during the build.
Errors running builder 'Maven Project Builder' on project 'mTime'.Errors occurred during the build.
Errors running builder 'Maven Project Builder' on project 'mTime'.
Could not calculate build plan: Failed to parse plugin descriptor for org.apache.maven.plugins:maven-war-plugin:2.1.1 (C:\Users\User01\.m2\repository\org\apache\maven\plugins\maven-war-plugin\2.1.1\maven-war-plugin-2.1.1.jar): invalid LOC header (bad signature)
Failed to parse plugin descriptor for org.apache.maven.plugins:maven-war-plugin:2.1.1 (C:\Users\User01\.m2\repository\org\apache\maven\plugins\maven-war-plugin\2.1.1\maven-war-plugin-2.1.1.jar): invalid LOC header (bad signature)
Could not calculate build plan: Failed to parse plugin descriptor for org.apache.maven.plugins:maven-war-plugin:2.1.1 (C:\Users\User01\.m2\repository\org\apache\maven\plugins\maven-war-plugin\2.1.1\maven-war-plugin-2.1.1.jar): invalid LOC header (bad signature)
Failed to parse plugin descriptor for org.apache.maven.plugins:maven-war-plugin:2.1.1 (C:\Users\User01\.m2\repository\org\apache\maven\plugins\maven-war-plugin\2.1.1\maven-war-plugin-2.1.1.jar): invalid LOC header (bad signature)

я знаю этоmaven входит вspring frameworkи когда я проверяю каталог, банки там.

Как я могу решить эту ошибку?

Ответы на вопрос(9)

find ~/.m2  -name "*.lastUpdated" -exec grep -q "Could not transfer" {} \; -print -exec rm {} \;
Help -> Install New Softwares

XML, CSS, Java EE ... И после этого, если эта встроенная проблема все еще продолжается, пожалуйста, используйте команду

rm -rf ~/.m2/repository/*

Следуйте шагам:

Примечание. Папка .m2 по умолчанию скрыта. Раскройте папку.

Шаг 1: Удалить все содержимое в папке .m2 / repository.

Шаг 2: Перезапустите свое затмение.

Шаг 3: Maven->Update Project .Checked - принудительное обновление снимков / релизов.

Шаг 4: Беги как Maven Clean.

Шаг 5: Запустите как Maven Install.

Шаг 6: Чистый проект.

Шаг 7: Запустите свой проект.

Я надеюсь, что вы найдете свое решение здесь ..

Спасибо..

используйте следующее, чтобы найти сломанные артефакты и удалить их:

public static void main(String[] args) throws IOException {
    findBrokenZip(Paths.get(System.getProperty("user.home") + "/.m2/repository"));
}

static void findBrokenZip(Path path) throws IOException {
    try (DirectoryStream<path> stream = Files.newDirectoryStream(path)) {
        for (Path entry : stream) {
            if (Files.isDirectory(entry)) {
                findBrokenZip(entry);
            } else {
                if (entry.getFileName().toString().endsWith(".jar")) {
                    try (JarFile zipFile = new JarFile(entry.toFile())) {
                        zipFile.getManifest();
                    } catch (ZipException e) {
                        Files.delete(entry);
                    }
                }
            }
        }
    }
}
</path>

пуске Tomcat в Windows или когда вы можетеВольфгангСценарий s должен заменить JarResourceSet.class в catalina.jar версией с дополнительной отладкой.

Т.е. Google для исходного кода для вашей версии Tomcat и адаптировать метод initInternal ():

    String processingJar = "";

    try (JarFile jarFile = new JarFile(getBase())) {
        processingJar = jarFile.getName();

        ...
    } catch (IOException ioe) {
        System.out.println("Failed with " + processingJar);
        throw new IllegalArgumentException(ioe);
    }

Для сборки ваш classpath должен указывать на каталог Tomcat lib, например:

javac -cp C:\apache-tomcat-X.Y.Z\lib\* JarResourceSet.java

Затем используйте 7zip или аналогичную программу, чтобы вставить ее в catalina.jar в соответствующем каталоге и запустить Tomcat. Я был удивлен, что это сработало в первый раз, но это сработало. (Тогда вам просто нужно найти, где в вашем хранилище .m2 находится поврежденный файл jar, удалить, перестроить и т. Д.)

invalid LOC header (bad signature) Скорее всего из-за загруженного файла .jar поврежден.

Если у вас медленное интернет-соединение, вместо удаления всего репозитория Maven вы можете попытаться удалить папку, содержащую проблемный jar, согласно подсказкам сообщения об ошибках (т.е.C:\Users\User01\.m2\repository\org\apache\maven\plugins\maven-war-plugin\2.1.1\) Тогда используйтеmvn clean install -U чтобы загрузить зависимости снова.

 TJ-03 янв. 2013 г., 06:50
Спасибо @Ken. Это был спаситель.
 Swift Sharp24 окт. 2012 г., 09:49
Это'теперь хорошо, спасибо
 ggb66721 мая 2014 г., 21:49
Для меня просто удаление каталога решило проблему.
 Wolfgang Fahl29 окт. 2013 г., 15:02
Хорошо. в принципе - может быть полуавтоматизирован с помощью скриптового решения (см. ответ от октября 2013 г.

лемы со строками заголовков CEN и LOC в результате mvn и просит удалить файлы jar один за другим. После нескольких удалений и повторного запуска все должно работать снова. Я не'не смей полностью автоматизировать.

#!/bin/sh
# fix issues like:
#[ERROR] error: error reading /Users/wf/.m2/repository/org/docx4j/xhtmlrenderer/1.0.0/xhtmlrenderer-1.0.0.jar; invalid LOC header (bad signature)
# WF 2013-10-27
mvnlog=/tmp/mvnlog$
mvnproblem=/tmp/mvnproblem$
mvn install | tee $mvnlog
grep "invalid ... header" $mvnlog > $mvnproblem
for culprit in `cat $mvnproblem | cut -d" " -f5  | cut -d ";" -f1`
do
  echo "fix mvn LOC header issue with $culprit? yes/no/abort"
    read answer
    case $answer in
      y*|Y*) rm $culprit;;
        n*|N*) ;;
        *) exit 1;
    esac
done
rm -f $mvnproblem
rm -f $mvnlog
Решение Вопроса

invalid LOC header (bad signature)

что предполагает разрыв некоторого двоичного файла, скорее всего, одну из зависимостей. Если у вас быстрое интернет-соединение, просто удалите весь репозиторий maven и позвольте maven перезагружать все зависимости:

rm -rf ~/.m2/repository/*
Смотрите такжекакая-то ошибка при запуске проекта Spring MVCMaven :: Неверный CEN (плохая подпись) Неверный LOC (плохая подпись)
 Mohan Mahajan03 нояб. 2013 г., 12:30
Или вы можете удалить поврежденный бинарный файл из локального репозитория Maven. Вместо того, чтобы ждать загрузки целых зависимостей.
 Oliver10 июн. 2016 г., 08:53
Да, @MohanMahajan прав. Мы должны перейти в папку m2, найти местоположение нашего бинарного файла и удалить его. Затем запустите команду mvn.
 Nicholi21 дек. 2012 г., 05:04
Никогда такого раньше не было, но это был, безусловно, ответ.
 Swift Sharp24 окт. 2012 г., 09:47
это было так просто, спасибо друг
Решение Вопроса

какая банка сломана. Удалить только это.

 Wolfgang Fahl28 окт. 2013 г., 16:56
в принципе - см. сценарий решения

Ваш ответ на вопрос