【问题标题】:Generating Java Sources with sbt JFlex plugin使用 sbt JFlex 插件生成 Java 源代码
【发布时间】:2012-12-03 08:45:59
【问题描述】:

在 sbt (0.12) 的主要 javac 阶段之前,我正在使用 sbt-jflex 插件通过 JFlex 生成 Java 源代码。

该插件是 ANTLR 插件的克隆,我发现 this question 显示了如何使用后者。

所以我在project/plugins.sbt 中有以下内容:

addSbtPlugin("org.scalanlp" % "sbt-jflex" % "0.1-SNAPSHOT") 

这个在./build.sbt:

jflexSettings

sourceGenerators in Compile <+= generate in jflex

但是我一定是做错了什么,或者 javac 阶段出现在源生成器之前,因为当我运行 sbt compile 时,我从未看到消息 "JFlex: Using JFlex version X to generate source files"。相反,sbt 直接编译 Java 源代码

[info] Compiling 91 Java sources to ...

然后由于该阶段缺少 JFlex 输出而失败。运行source-directories 表明确实包含src/main/jflextarget/src_managed/main 也是如此。

【问题讨论】:

    标签: sbt jflex


    【解决方案1】:

    在尝试注入调试打印后,我发现 sbt-jflex 插件假定源位于 src/main/flex 中,而我的项目将它们放在 src/main/jflex 中。添加以下修复它:

    sourceDirectory in jflex <<= (sourceDirectory in Compile) { _ / "jflex" }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-03
      • 1970-01-01
      • 2011-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-04
      • 2023-03-20
      相关资源
      最近更新 更多