Java v8unpack

28.04.17

Разработка - Инструментарий разработчика

Альтернативная-opensource реализация распаковщика cf, epf & etc на Java.

Скачать файлы

Наименование Файл Версия Размер
com.minimajack._v8.cf-0.0.1-SNAPSHOT-jar-with-dependencies.jar
.jar 2,93Mb
12
.jar 2,93Mb 12 Скачать

InDev

Основные отличия:

  • распаковывает данные сразу
  • работает в несколько потоков
  • не сохраняет заголовки файлов   уже сохраняет
  • пожирает память нещадно

Документация

По проекту:
Project documentation
Java-doc api: 
API-doc 

Сборка:

git clone https://github.com/MinimaJack/com.minimajack.v8.cf.reader.git
cd com.minimajack.v8.cf.reader
mvn clean compile assembly:single

Забирать из папки ./target/

Для сборки необходимо:

  • maven 3.+
  • JDK 1.8+

Запуск:

для распаковки:

unpack.bat test.epf ./unpacked/

или

java -jar com.minimajack.v8.cf.reader-0.0.1-SNAPSHOT-jar-with-dependencies.jar %file% %path%

для упаковки

pack.bat ./unpacked/ test.epf

java -jar com.minimajack.v8.cf.reader-0.0.1-SNAPSHOT-jar-with-dependencies.jar  %path% %file%

P.S. В первую очередь предназначается для обучения

04.06.2015 Причесал немного код. Выделил библиотеку отдельно, демо пример отдельно.

Исходники:

Библиотеки - https://github.com/MinimaJack/com.minimajack.v8.format

Демо пример, он же распаковщик - https://github.com/MinimaJack/com.minimajack.v8.cf.reader.git

10.06.2015 Обновил файл

26.06.2015 Обновил ссылки на библиотеки

20.04.2017 Демо пример переделан на fork/join pool

26.04.2017 Демо пример переделан, добавлена возможность кеширования файлов по дате модификации которая по умолчанию влючена. Что бы отключить необходимо третьим параметром передать стратегию NONCACHE

28.04.2017 Демо пример переделан с возможностью иерархического построения проекта, без изменения именований.

java v8unpack

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122102    670    389    

714

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 15300 руб.

06.10.2023    7283    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8000 руб.

10.11.2023    3521    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177733    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99344    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18106    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28104    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23601    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ekaruk 4896 02.06.15 19:40 Сейчас в теме
Идея интересная.
Спасибо.
Давно искала повод покопаться в Java.
2. minimajack 80 02.06.15 19:53 Сейчас в теме
(1) ekaruk, идея то не новая, фактическая дата создания моего проекта 7 декабря 2014...ну и awa параллельно тоже запилил (https://github.com/awk-kazmin/JV8Unpack).
Программирование на Java - как глоток свежего воздуха.
ps Будут вопросы, задавайте - с удовольствием отвечу.
eugeniezheludkov; +1 Ответить
6. awa 2602 03.06.15 09:57 Сейчас в теме
(2)
ну и awa параллельно тоже запилил


Видимо, это просто опечатка. Но на всякий случай уточню, что это не мой проект, а Василия Казьмина http://infostart.ru/profile/44963/
7. minimajack 80 03.06.15 10:03 Сейчас в теме
(6) awa, да, просто опечатка
(5) nSpirit2, пока нет
3. DoctorRoza 03.06.15 09:10 Сейчас в теме
Ну что, началось! Java начинает паломничество на святую землю Инфостарт! :)

По ссылке error 404
4. minimajack 80 03.06.15 09:13 Сейчас в теме
5. nSpirit2 03.06.15 09:41 Сейчас в теме
А обратно запаковывать она умеет?
8. dmpas 417 03.06.15 10:57 Сейчас в теме
Пора открывать клуб V8Unpacker-ов ?
artbear; DrAku1a; Evil Beaver; kuntashov; +4 Ответить
9. nSpirit2 03.06.15 11:01 Сейчас в теме
(8) baton_pk, Лучше клуб запакеров начинайте основывать :)
(7) Ясно а в планах то есть ?
10. minimajack 80 03.06.15 11:19 Сейчас в теме
(8) baton_pk, не понял вопроса
(9) nSpirit2,
мне не хватило текущего функционала V8Unpack.
да собирать обратно планирую
11. detec 136 03.06.15 12:10 Сейчас в теме
Жаль, что интерфейс консольный. Можно было бы реализовать на javafx форму приложения.
12. minimajack 80 03.06.15 12:12 Сейчас в теме
(11) detec, данная разработка позиционируется как библиотека, а не как самостоятельное приложение. Это позволит использовать код как угодно.
13. ret-Phoenix 529 04.06.15 00:23 Сейчас в теме
Действительно, подобных проектов несколько штук, но вот еще ни один не дошел до уровня gcomp. Все выгружают просто "RAW", а хотелось бы получить в результате нормальные имена и разбор по каталогам. Тогда от подобных инструментов будет толк (вспоминаю fez, ADirks).

P.S. не удивлюсь, если есть уже решение, но в public не выложено.
14. minimajack 80 04.06.15 08:59 Сейчас в теме
(13) ret-Phoenix, (5) nSpirit2, так получается, что текущий функционал можно развивать по разному.
1. Нормальный разбор: нормальные имена, структура папок
2. Нормальную сборку - именно низкоуровневую, даем файлы -> получаем упакованный результат.
3. Полную разборку в папки и сборку - подобно xml выгрузки, загрузки

Для меня сейчас важнее 2 пункт, но хотелось бы узнать мнение других людей.
15. nSpirit2 04.06.15 09:32 Сейчас в теме
(14) не знаю как другим, но по моему возможность обратно собрать обратно должна обязательно присутствовать в таком проекте иначе его функциональность не будет использоваться в полной мере... Запаковка распаковка так и до альтернативного редактора кода не далеко :) В любом случае такая система решит много проблем с использованием VCS а это большой плюс :)
16. dmpas 417 04.06.15 09:39 Сейчас в теме
(14)
2. Нормальную сборку - именно низкоуровневую, даем файлы -> получаем упакованный результат.

ну, с этим долго возиться вряд ли придётся. тут поле уже пахано-перепахано.
а вот разбирать всё это дело в понятный формат - вот это действительно требует основательного погружения.
17. minimajack 80 04.06.15 09:45 Сейчас в теме
(16) baton_pk, без низкоуровневой сборки как то не функционально...ничего сложного нет, но руки не резиновые
опять же с форматом...что считать нормальным...какой он нормальный . Возможно использовать родной 1с-кий, возможно придумать что то свое...
18. Evil Beaver 8107 04.06.15 10:01 Сейчас в теме
(16) baton_pk, ну так V8Reader же от bambr1975! Там вам и unpack и парсер-распарсер во все поля.
http://infostart.ru/public/106310 Плюс, их совместный проект с awa - MetaRead, ссылку не помню.
artbear; awa; dmpas; +3 Ответить
19. dmpas 417 04.06.15 10:08 Сейчас в теме
(18) Evil Beaver,
V8Reader же от Вики Дорохиной

да, воистину сильнейшая разработка! всё никак повода не находится сесть и разобраться.

ссылку не помню

вот для того и нужен "клуб" :) чтоб не бегать по разным местам
20. minimajack 80 04.06.15 16:11 Сейчас в теме
Разделил код на библиотеку и демо-распаковщик.
(18) Evil Beaver, жаль MetaRead не нашел, описание метаданных ускорило бы разработку
21. eugeniezheludkov 43 05.06.15 08:22 Сейчас в теме
Извиняюсь за снобизм, но библиотека не будет полной без документации, а в репо я так её и не нашел. Нужно некое АПИ, его описание, как работать с этой библиотекой, копаться в исходниках? Если будет документация, то это будет продукт отличающийся от других анпакеров. Порог вхождения будет гораздо ниже, что увеличит количество контрибьютеров и пользователей библиотеки
22. minimajack 80 05.06.15 08:28 Сейчас в теме
(21) eugeniezheludkov, библиотеке от роду три дня, хотя фактически даже сутки не прошли с разделения. Так что документация будет, но пока это даже не альфа.
пока, как пример, можно смотреть на распаковщик...тем более как ее собираются использовать я не знаю. Будут вопросы задавайте.

фактически вся логика находится в двух файлах:
https://github.com/MinimaJack/com.minimajack.v8.cf.reader/blob/master/src/main/java/com/minimajack/v8/parser/Re­ader.java
https://github.com/MinimaJack/com.minimajack.v8.cf.reader/blob/master/src/main/java/com/minimajack/v8/model/Con­tainerReader.java
Логика пока такая:
создаем рутовый контекст -> создаем рутовый контейнер -> указываем в контексте реализацию ридера и просим распарсить данные.

все остальные файлы, лишь для удобства и скорости работы(работа в несколько потоков и прочее).

Если будет документация, то это будет продукт отличающийся от других анпакеров
- основное отличие - это в первую очередь библиотека. С документацией проблемы - возможно на выходных что нибудь подготовлю.
23. minimajack 80 05.06.15 09:30 Сейчас в теме
Основная страница
http://minimajack.github.io/v8Unpack4j/index.html
Java-doc api
http://minimajack.github.io/v8Unpack4j/apidocs/index.html

CI - нет сервера.
Метрики пока не нужны.
Тестов - пока тоже нет.
Java-doc - пока без описания, только вызовы и методы
24. ret-Phoenix 529 10.06.15 08:18 Сейчас в теме
(0) Из приятных мелочей: найденным v8unpack разобрать УП 2 не смог - слетела разборка. Твоей утилитой разобралось.
25. minimajack 80 10.06.15 09:22 Сейчас в теме
(24) ret-Phoenix, да...к счастью и сожалению она разбирает даже то что не должна
26. ret-Phoenix 529 10.06.15 12:07 Сейчас в теме
(25) Например? если конфигурация убита и позволяет ее разобрать - это явный плюс )
27. minimajack 80 10.06.15 12:11 Сейчас в теме
(26) ret-Phoenix, нет...такую конфиграцию не разберет...
я делаю упаковку из файлов и естественно тестирую ....
распаковал нормальную обработку -> упаковываю -> снова распаковываю уже упакованую своей обработкой
так вот у меня все ок - все распаковывается, все на месте до байтика...
а вот 1С упорно не желает пользоваться - видит зуб да неймет
Прикрепленные файлы:
28. minimajack 80 10.06.15 14:17 Сейчас в теме
В общем, получилось.
Распаковал упп -> запаковал обратно -> конфигурация открылась
теперь о минусах...
перепакованная версия открывается(сравнение объединение) дольше - необходимо время на изыскания...скорее всего дело в выравнивании, порядке данных и правильной сегментации
упаковка происходит в один поток, памяти жрет меньше, есть простор для оптимизации

выводы:
для внешних обработок подходит
для полноценных конфигураций пока нет

упаковывать аналогично распаковке -> только меняется местами параметры
распаковать: %file% %path%
упаковать: %path% %file%
29. minimajack 80 10.06.15 15:28 Сейчас в теме
Народ что дальше?
1. Нормальный разбор: нормальные имена, структура папок
2. Скорость упаковки, работы 1С с упакованным файлом?

голосуем https://github.com/MinimaJack/com.minimajack.v8.cf.reader/issues
30. RustIG 1351 14.06.15 21:43 Сейчас в теме
(29) зачем нужны упаковщики, распаковщики? я просто консультант и ни разу с этим не сталкивался, хотел бы узнать подробности
31. minimajack 80 15.06.15 07:54 Сейчас в теме
(30) Rustig,
В первую очередь для системы контроля версий, статического анализа кода и т.п.
http://infostart.ru/public/335018/
http://infostart.ru/public/118207/
32. minimajack 80 16.06.15 19:27 Сейчас в теме
(29)
Ввиду "оживленного" обсуждения, решил заняться разбором метаданных - "{0,{}}".
Инструментарий будет в отдельном проекте.
На текущий момент реализовано чтение: строки, числа, булево, массива, списка, хешмап, UUID, перечислений, объектов(с разбором полей). На выходе получаем заполненный экземпляр класса, со всеми полями. Пока реализовано только чтение; запись будет реализована позже. Запись скорее всего будет в XML формат - ближе к 1С-кому.

Проекты будут связанны "format.cf" - чтение файлов, "format.???" - описание классов, сериализация-десериализация.
Скорость - пока на второй план, много времени занимает именно кодинг классов.

Пример реализации класса - "описания" реквизита:
Скрытый текст


з.ы. задача кодерская-нудная, сидеть добавлять перечисления 1С, классы 1С, и сравнивать с сериализацией.
Evil Beaver; dmpas; awa; +3 Ответить
33. dmpas 417 16.06.15 23:34 Сейчас в теме
задача кодерская-нудная

ох, как я тут согласен :) сам пытаюсь на Ц++ классы для управляемых форм сообразить.

Вообще, тут бы лучше подумать надо хорошей кодогенерацией. Есть тучи XML-ек, которые можно навыгружать из 1С, по ним можно построить XSD (я пробовал trang, который, кстати, на Java), а по XSD уже нагенерить классов.
34. minimajack 80 17.06.15 15:38 Сейчас в теме
(33) baton_pk,
В Java все попроще...рефлексия - хлоп-хлоп и готово.

https://github.com/MinimaJack/com.minimajack.v8.bs.format - мини библиотека для разбора, в стандартной поставке чтение:
- строк
- чисел
- булево
- UUID
- классов
- Enum-ов
- List-ов
- Map-ов
Косяков еще хватает, но потихоньку буду править

https://github.com/MinimaJack/com.minimajack.v8.example.bs- пример для чтения рутового файла.
@V8Class
public class V8Root
{
    public Integer id;

    public UUID guid;

    public AnyData hash;

}
Показать
35. dmpas 417 17.06.15 15:43 Сейчас в теме
(34)
так рефлексия - это когда классы уже есть. а я говорю о том, чтобы эти классы хитрой обработиной создать из XSD-шек.
36. minimajack 80 17.06.15 22:08 Сейчас в теме
(35) baton_pk,
"Есть тучи XML-ек, которые можно навыгружать из 1С" - типа выгрузка конфигурации в XML?
37. dmpas 417 18.06.15 09:02 Сейчас в теме
38. minimajack 80 18.06.15 09:09 Сейчас в теме
(37) baton_pk, это борода.
Формат меняется, скорость выгрузки не ахти. Что делать в таком случае с внешними обработками и отчетами?
Я лучше потихоньку десериализую реальные классы и буду уверен, что все ок.
39. dmpas 417 18.06.15 09:52 Сейчас в теме
(38)
наверное, мы друг друга не понимаем.

я говорю вот, о чём: есть у меня выгрузка большой-большой конфы (чем больше, тем лучше). там куча файлов, к примеру, Catalog.Справочник1.xml, Catalog.Справочник2.xml, Catalog.Справочник3.xml.

Сами непосредственно справочники меня мало волнуют, мне нужны их общие поля. Они получаются при генерации схемы. Итого в XSD я вижу, к примеру, список полей, описывающих справочник, как объект метаданных:
Name
Synonym
Comment
Hierarchical
HierarchyType
LimitLevelCount
LevelCount
FoldersOnTop
......
Показать


и по ним генерю класс:
class MetaCatalog {

public string Name;
public multistring Synonym;
public string Comment;
.....
}
Показать


Главное в таком подходе - все сложные типы вроде HierarchyType или SearchStringModeOnInputByString можно будет сразу увидеть и сгенерить по ним Enum.
Сериализации тут нет, её вам всё равно пилить руками надо будет. Тут цель - быстро и относительно малой кровью разово создать всю эту тучу классов, описывающих метаданные, в которые вы потом уже будете сериализировать эти зловещие файлы со скобочками.

Но это всё пока у меня в теории, потому как до конечного результата я тут пока не дошёл.
40. minimajack 80 18.06.15 10:14 Сейчас в теме
41. minimajack 80 23.06.15 14:23 Сейчас в теме
пример использования совместно java-fx, com.minimajack.v8.bs.format и v8Unpack
Прикрепленные файлы:
dmpas; vikad; +2 Ответить
42. minimajack 80 26.06.15 08:07 Сейчас в теме
Объединил библиотеки для чтения под одним корневым проектом...старые репозитории пришлось удалить
https://github.com/MinimaJack/com.minimajack.v8.format
Описание:
http://minimajack.github.io/com.minimajack.v8.format/0.0.9/

http://minimajack.github.io/com.minimajack.v8.format/0.0.9/com.minimajack.v8.format.cf/
http://minimajack.github.io/com.minimajack.v8.format/0.0.9/com.minimajack.v8.format.bs/

Репозиторий:
	<repositories>
		<repository>
			<id>v8Unpack4j</id>
			<url>https:// raw.github.com/MinimaJack/com.minimajack.v8.format/mvn-repo/</url>
		</repository>
	</repositories>
JohnyDeath; +1 Ответить
43. v3rter 26.06.15 09:11 Сейчас в теме
Думаю, что "запакеров" нам не надо, иначе у троянов-вымогателей могут появиться дополнительные векторы атак.
44. minimajack 80 26.06.15 09:23 Сейчас в теме
(43) v3rter, кому не надо - тот не пользуется.
45. v3rter 26.06.15 11:10 Сейчас в теме
(44) Запакером? Проблема в том, что запакером могут воспользоваться те, кому не надо, и появится новый класс вредоносов.
Вот распакер - вещь нужная, особенно если портативный и консольный.
46. pumbaE 02.07.15 21:43 Сейчас в теме
(45) v3rter, найдешь на кухне нож - ВЫБРОСИ, а то мало ли чего.
artbear; JohnyDeath; so-quest; dmpas; awa; +5 Ответить
47. capitan 2466 12.01.16 19:27 Сейчас в теме
Rename 0cd0af71-a8c9-45a6-aa56-18ecdd9124b2 to MGNkMGFmNzEtYThjOS00NWE2LWFhNTYtMThlY2RkOTEyNGI
java.io.IOException: Синтаксическая ошибка в имени файла, имени папки или метке

и далее штук пять таких же ошибок

конфигурация состоит из одной формы

если пробую обработку

Rename copyinfo to Y29weWluZm8
java.io.IOException: Синтаксическая ошибка в имени файла, имени папки или метке тома

Что может быть не так ?
Кроме ДНК :)

Прикрепленные файлы:
cf.cf
epf.epf
48. minimajack 80 13.01.16 09:13 Сейчас в теме
(47) capitan, не может создать файл...возможно не хватает прав
собрал, проверил

java -jar com.minimajack.v8.cf.reader-0.0.1-SNAPSHOT-jar-with-dependencies.jar cf.cf ./сf/
Прикрепленные файлы:
com.minimajack.v8.cf.reader-0.0.1-SNAPSHOT-jar-with-dependencies.jar
49. capitan 2466 13.01.16 23:04 Сейчас в теме
Мерси.
Так работает.
С меня +
В файле unpack.bat на github похоже ошибка
@echo OFF
Echo Start parsing
@java -Xms1G -Xmx2G -jar com.minimajack.v8.cf.reader-0.0.1-SNAPSHOT-jar-with-dependencies.jar %1 ./unpacked/%1
два раза %1
minimajack; +1 Ответить
50. minimajack 80 14.01.16 08:03 Сейчас в теме
(49) capitan, спасибо, исправил
51. minimajack 80 14.01.16 09:26 Сейчас в теме
Пофиксил долгое открытие упаковоной конфигурации - надеюсь) в линуксе не тестил - но должно работать.
"Перешел" на 8 java
В общем все оказалось проще чем думалось - всего то надо было в алфавитном порядке(в одном регистре) записывать в фс 1С.
бинарник в шапке обновил...
52. Infactum 315 14.01.16 09:57 Сейчас в теме
(51)
А оглавление контейнера у вас одним цельным блоком в начале расположено? Просто для полного соответствия формату, который генерирует сама платформа, оглавление должно состоять из блока в 512 байт в начале контейнера, а все остальные блоки (если они есть) расположены в конце.
Можете посмотреть мою Python реализацию запаковки, там сразу не было проблемы с быстродействием перепакованных файлов.
53. minimajack 80 14.01.16 10:29 Сейчас в теме
(52) Infactum, да 512 байт...
entries = sorted(os.listdir(folder))

у вас изначально сортируется список файлов - потому и не словили)
54. Infactum 315 14.01.16 10:35 Сейчас в теме
(53)
Ну да, и это тоже. Я изначально хотел полного совпадения файлов добиться после перепаковки, поэтому писал все с оглядкой на структуру исходного контейнера, но в итоге параметры сжатия соответствующие подобрать не удалось :)
55. minimajack 80 14.01.16 10:42 Сейчас в теме
(54) Infactum,
btw у вас сортируется правильно-регистронезависимо? Как долго упаковывается конфигурация?
ffaac527-f33e-48bc-b09d-43245a025cd5
FFAAC527-F33E-48BC-B09D-43245A025CD5.0
ffaac527-f33e-48bc-b09d-43245a025cd5.1
56. Infactum 315 14.01.16 13:43 Сейчас в теме
(55)
Сортировка правильная.
Скорость работы это очень субъективный показатель как вы понимаете. Если хотите сравнить со своей реализацией и не устанавливать питон и т.п, то возьмите просто exe'шник из вот этой темы и проверьте на вашем компьютере и вашей тестовой конфигурации.
57. minimajack 80 14.01.16 14:22 Сейчас в теме
(56) Infactum, спасибо. Жаль у вас время работы не выводится
58. Infactum 315 14.01.16 14:31 Сейчас в теме
(57)
Просто тот исполняемый файл - это лишь демонстрация возможностей моего модуля, поэтому никаких "плюшек" там нет. Распаковывает/запаковывает по ключам командной строки и все.
А субъективно что скажете? Разница есть?
59. minimajack 80 14.01.16 14:37 Сейчас в теме
(58) Infactum, ваш не ест память, мой быстрее работает ) как то такие ощущения
а не...в принципе время сопоставимое
60. eugeniezheludkov 43 25.01.16 06:52 Сейчас в теме
Rename form to Zm9ybQ=  at com.minimajack.v8.model.ContainerReader$1.visit(Conta
inerReader.java:64)

        at com.minimajack.v8.format.V8FileSystem.iterate(V8FileSystem.java:100)
        at com.minimajack.v8.model.ContainerReader.run(ContainerReader.java:63)
        at com.minimajack.v8.threadpool.ExecutionWrapper.run(ExecutionWrapper.ja
va:36)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
java.io.IOException: Синтаксическая ошибка в имени файла, имени папки или метке
тома
        at java.io.WinNTFileSystem.createFileExclusively(Native Method)
        at java.io.File.createNewFile(Unknown Source)
Rename module to bW9kdWx        at com.minimajack.v8.model.ContainerReader.getOr
CreateFile(ContainerReader.java:49)

        at com.minimajack.v8.model.ContainerReader.access$000(ContainerReader.ja
va:16)
        at com.minimajack.v8.model.ContainerReader$1.visit(ContainerReader.java:
86)
        at com.minimajack.v8.model.ContainerReader$1.visit(ContainerReader.java:
64)
        at com.minimajack.v8.format.V8FileSystem.iterate(V8FileSystem.java:100)
        at com.minimajack.v8.model.ContainerReader.run(ContainerReader.java:63)
        at com.minimajack.v8.threadpool.ExecutionWrapper.run(ExecutionWrapper.ja
va:36)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
java.io.IOException: Синтаксическая ошибка в имени файла, имени папки или метке
тома
Rename module to bW9kdWx        at java.io.WinNTFileSystem.createFileExclusively
(Native Method)

        at java.io.File.createNewFile(Unknown Source)
        at com.minimajack.v8.model.ContainerReader.getOrCreateFile(ContainerRead
er.java:49)
        at com.minimajack.v8.model.ContainerReader.access$000(ContainerReader.ja
va:16)
        at com.minimajack.v8.model.ContainerReader$1.visit(ContainerReader.java:
86)
        at com.minimajack.v8.model.ContainerReader$1.visit(ContainerReader.java:
64)
        at com.minimajack.v8.format.V8FileSystem.iterate(V8FileSystem.java:100)
        at com.minimajack.v8.model.ContainerReader.run(ContainerReader.java:63)
        at com.minimajack.v8.threadpool.ExecutionWrapper.run(ExecutionWrapper.ja
va:36)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
java.io.IOException: Синтаксическая ошибка в имени файла, имени папки или метке
тома
        at java.io.WinNTFileSystem.createFileExclusively(Native Method)
        at java.io.File.createNewFile(Unknown Source)
        at com.minimajack.v8.model.ContainerReader.getOrCreateFile(ContainerRead
er.java:49)
        at com.minimajack.v8.model.ContainerReader.access$000(ContainerReader.ja
va:16)
        at com.minimajack.v8.model.ContainerReader$1.visit(ContainerReader.java:
86)
        at com.minimajack.v8.model.ContainerReader$1.visit(ContainerReader.java:
64)
        at com.minimajack.v8.format.V8FileSystem.iterate(V8FileSystem.java:100)
        at com.minimajack.v8.model.ContainerReader.run(ContainerReader.java:63)
        at com.minimajack.v8.threadpool.ExecutionWrapper.run(ExecutionWrapper.ja
va:36)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Active tasks: 0
Time: 2
Показать


я так понимаю у меня не хватает прав на файловую систему ? (запускал под админской учеткой)
61. minimajack 80 25.01.16 13:26 Сейчас в теме
(60) eugeniezheludkov, да нет прав на фс
проверьте еще раз параметры запуска программы или напишите сюда
62. serge_focus 4 29.01.16 23:46 Сейчас в теме
Для файлов epf & etc - может быть и альтернатива да и то до выхода 8.3.8..
А с 8.3.7.1759 конфигуратор нормально сохраняет в файлы для GITa
63. farkhod 14 19.08.19 17:28 Сейчас в теме
Отвалилось с ошибкой

Exception in thread "main" java.lang.NullPointerException
at com.minimajack.v8.code.impl.RelativizeProcessor.process(RelativizeProcessor.java:19)
at com.minimajack.v8.code.impl.RelativizeProcessor.process(RelativizeProcessor.java:21)
at com.minimajack.v8.code.impl.RelativizeProcessor.process(RelativizeProcessor.java:8)
at com.minimajack.v8.code.impl.CodeProcessor.process(CodeProcessor.java:15)
at com.minimajack.v8.project.Project.unpackProject(Project.java:79)
at com.minimajack.v8.MainApp.main(MainApp.java:45)
64. minimajack 80 19.08.19 21:03 Сейчас в теме
(63)
read "main" java.lang.NullPointerException
at com.minimajack.v8.code.impl.RelativizeProcessor.process(RelativizeProcessor.java:19)
at com.minimajack.v8.code.impl.RelativizeProcessor.process(RelativizeProcessor.java:21)
at com.minimajack.v8.code.impl.RelativizeProcessor.process(RelativizeProcessor.java:8)
at com.minimajack.v8.code.impl.CodeProcessor.process(CodeProcessor.java:15)
at com.minimajack.v8.project.Project.unpackProject(Project.java:79)
at com.minimajack.v8.MainApp.main(Main

очень похоже на некорректные параметры или отсутствие доступа к файловой системе...
https://github.com/MinimaJack/com.minimajack.v8.cf.reader/blob/develop/dist/unpack.bat
первый параметр конфигурация, второй параметр - путь к папке в которую надо разобрать проект
Оставьте свое сообщение