Protostuff - в Windows создается неверный путь вывода для файлов.java
Я получаю сообщение об ошибке "Неверный синтаксис имени файла, имени каталога или метки тома" из-за того, что protostuff-maven-plugin не генерирует правильный путь вывода, пока он работает нормально на Mac. Ниже приведены подробности:
Ошибки, вызванные: java.io.FileNotFoundException: C:\ABC\target\generate-sources\com\abc\ оптимизация \common\vdf\C:\ABC\src\main\protostuff\VDFCollectionTypeSchema.java (имя файла, каталог неверный синтаксис имени или метки тома)
Просто имя файла должно быть добавлено к пути, но оно добавляет другой абсолютный путь. Вот раздел конфигурации [Обратитесь к приложенному образу для полной конфигурации]:
<source>src/main/protostuff/VDFDataProto.proto</source>
<outputDir>target/generated-sources</outputDir>
<output>src/main/protostuff/$Schema.java.stg</output>
<encoding>UTF-8</encoding>
Выходной путь должен быть: C: \ ABC \ target \ generate-sources\com\abc\ оптимизация \common\vdf\VDFCollectionTypeSchema.java
вместо этого он генерирует C: \ ABC \ target \ generate-sources\com\abc\ оптимизация \ common \ vdf \ C: \ ABC \ src \ main \ protostuff \ VDFCollectionTypeSchema.java
Я использую protostuff версии 1.3.0, 1.2.0 также имеет эту проблему.
1 ответ
Кажется, это дефект в библиотеке.
На данный момент мы решили проблему, указав абсолютный путь для окон. Так что теперь у нас есть разные конфигурации для Windows и Mac (не элегантное решение, но пока мы не исправим библиотеку, мы можем жить с этим).
<source>C:/GIT/ABC/common/src/main/protostuff/DataProto.proto</source>
<outputDir>C:/GIT/ABC/common/target/generated-sources</outputDir>
<output>C:/GIT/ABC/common/src/main/protostuff/$Schema.java.stg</output>
<encoding>UTF-8</encoding>
Я создал дефект по https://code.google.com/p/protostuff/issues/detail?id=166