在 sbt (0.12) 的主要 javac 阶段之前,我正在使用sbt-jflex插件通过 JFlex 生成 Java 源代码。
该插件是 ANTLR 插件的克隆,我发现这个问题显示了如何使用后者。
所以我有以下内容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/jflex
确实包含在内,就像target/src_managed/main
.