【问题标题】:Protostuff - Incorrect output path is generated in Windows for .java filesProtostuff - 在 Windows 中为 .java 文件生成不正确的输出路径
【发布时间】:2015-05-31 01:31:36
【问题描述】:

我收到错误“文件名、目录名或卷标语法不正确”,因为 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\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也有这个问题。

【问题讨论】:

    标签: java maven protostuff


    【解决方案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

    【讨论】:

      猜你喜欢
      • 2015-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多