在eclipse上打包,報錯:
[INFO] Including org.codehaus.groovy:groovy-all:jar:2.4.3 in the shaded jar.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.269 s
[INFO] Finished at: 2017-11-06T11:08:57+08:00
[INFO] Final Memory: 62M/644M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:2.4.3:shade (default) on project com.project.name: Error creating shaded jar: invalid LOC header (bad signature) -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
根據提示在項目目錄下使用 mvn -X package 執行,則將詳細堆棧信息打印出來:
[DEBUG] Processing JAR H:\apache-maven-3.3.9\repository\org\apache\parquet\parquet-jackson\1.7.0\parquet-jackson-1.7.0.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 43.299 s [INFO] Finished at: 2017-11-06T11:35:18+08:00 [INFO] Final Memory: 33M/759M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:2.4.3:shade (default) on project com.project.name: Error creating shaded jar: invalid LOC header (bad signature) -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:2.4.3:shade (default) on project com.project.name: Error creating shaded jar: invalid LOC header (bad signature) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarte
看到最后一個DEBUG信息,找到對應目錄" H:\apache-maven-3.3.9\repository\org\apache\parquet\parquet-jackson\1.7.0\",發現以.sha1-in-progress結尾的文件,說明jar沒有正常下載,刪除重新執行,同時觀察該目錄即可:


再執行到這里時,提示如下:


說明正常下載了,對應目錄:


已經正常。
(多說一句,如果發現進度條走了一半不走了,可以停掉刪除重新來;另外,國內用aliyun的maven庫要快很多)
總結:出現invalid LOC header (bad signature)時,按提示帶上-X執行mvn找到,.sha1-in-progress刪除,重新執行即可。
-----------------------------------------
有問題不怕,解決思路很重要!