1

我收到错误“文件名、目录名或卷标语法不正确”,因为 protostuff-maven-plugin 在 Mac 上正常工作时没有生成正确的输出路径。以下是详细信息:

由以下原因引起的错误:java.io.FileNotFoundException: C:\ABC\target\generated-sources\com\abc\optimization\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\generated-sources\com\abc\optimization\common\vdf\VDFCollectionTypeSchema.java

而是生成 C:\ABC\target\generated-sources\com\abc\optimization\common\vdf\C:\ABC\src\main\protostuff\VDFCollectionTypeSchema.java

我正在使用 protostuff 版本 1.3.0,1.2.0 也有这个问题。

4

1 回答 1

0

这似乎是图书馆的一个缺陷。

现在我们通过指定窗口的绝对路径解决了这个问题。所以现在我们为 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创建了一个缺陷

于 2015-02-09T22:13:58.483 回答