Сжатые папки Windows не распаковывают zip полностью
У меня большой проект Maven с множеством модулей. Один из модулей не является "реальным" проектом разработки. Он содержит данные для окончательной системы. Данные развертываются в систему с помощью специальной банки. Теперь pom проверяет, что файл jar загружен, а все остальные данные и командные файлы упакованы в zip-архив. Он использует плагин сборки maven. В этом файле POM нет особой магии. Волшебство начинается при распаковке zip-файла в сжатой папке Windows. Он распознает только файл jar, который является довольно большим (9 МБ), а не пакетные файлы и файлы данных (несколько КБ). Я не заметил этого сразу, потому что у моего действительно старого Winzip нет проблем с артефактом.
У кого-нибудь есть идея или есть похожие проблемы?
конфигурация плагина из файла pom
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
Моя сборка xml
<?xml version="1.0" encoding="UTF-8"?>
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<formats>
<format>zip</format>
</formats>
<dependencySets>
<dependencySet>
<outputDirectory></outputDirectory>
<includes>
<include>com.group:product-development-cli</include>
</includes>
<outputFileNameMapping>product-development-cli-${ext.version}.${extension}</outputFileNameMapping>
</dependencySet>
</dependencySets>
<fileSets>
<fileSet>
<directory>.</directory>
<excludes>
<exclude>pom.xml</exclude>
<exclude>assembly.xml</exclude>
<exclude>target</exclude>
</excludes>
</fileSet>
</fileSets>
</assembly>
Структура моей папки: module +- data1 +- больше файлов +- data2 +- больше файлов +- pom.xml +- assembly.xml +- больше файлов
2 ответа
Вдохновленный Эдвардом Томсоном, я еще раз взглянул на почтовый файл. ZIP-файл содержит файлы из двух разных источников (набор файлов и зависимость). Проблема заключалась в теге каталога в наборе файлов. (<directory>.</directory>
) Сжатые папки не любят '.' в середине пути.
product-0.5.0-SNAPSHOT/./file.txt
Зависимость была без .
конечно.
Есть ли вероятность того, что вы превысили ограничение длины пути в 260 символов? Встроенные в Windows подпрограммы сжатия не работают (даже если другие программы zip могут с этим справиться).
Похоже, это часто возникает при работе с JAR из-за иерархической структуры JAR.
Не могли бы вы попробовать разархивировать на более короткий путь (C:\A
например) и посмотреть, поможет ли это?