我收到错误“文件名,目录名或卷标语法不正确”是由于protostuff-maven-plugin在Mac上正常工作时没有生成正确的输出路径。 以下是详细信息:
由以下错误引起的错误:java.io.FileNotFoundException:C:\ ABC \ target \ generated-sources \ com \ abc \ optimization \ common \ vdf \ C:\ ABC \ src \ main \ protostuff \ VDFCollectionTypeSchema.java(The文件名,目录名或卷标语法 是不正确的)
只需将文件名附加到路径,但它会附加另一个绝对路径。 以下是配置部分[参见附图中的完整配置]:
<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 \目标\产生来源\ COM \ ABC \优化\共同\ VDF \ VDFCollectionTypeSchema.java
而不是它生成 C:\ ABC \目标\产生来源\ COM \ ABC \优化\共同\ VDF \ C:\ ABC \ SRC \主\ protostuff \ VDFCollectionTypeSchema.java我正在使用protostuff版本1.3.0,1.2.0以及此问题。
答案 0 :(得分:0)
这似乎是图书馆的一个缺陷。
现在我们通过指定windows的绝对路径来解决问题。所以现在我们有不同的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