首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用sbt JFlex插件生成Java源代码

使用sbt JFlex插件生成Java源代码
EN

Stack Overflow用户
提问于 2012-12-16 00:42:51
回答 1查看 227关注 0票数 0

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

这个插件是ANTLR插件的克隆,我找到了this question,它展示了如何使用后者。

因此,我在project/plugins.sbt中有以下内容

代码语言:javascript
复制
addSbtPlugin("org.scalanlp" % "sbt-jflex" % "0.1-SNAPSHOT") 

这是./build.sbt格式的

代码语言:javascript
复制
jflexSettings

sourceGenerators in Compile <+= generate in jflex

但我一定是做错了什么,否则javac阶段会先于源代码生成器出现,因为当我运行sbt compile时,我永远看不到消息"JFlex: Using JFlex version X to generate source files"。相反,sbt直接编译Java源代码

代码语言:javascript
复制
[info] Compiling 91 Java sources to ...

然后失败,因为在该阶段缺少JFlex输出。运行source-directories显示确实包含了src/main/jflex,就像target/src_managed/main一样。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-16 01:14:31

在尝试注入调试打印后,我发现sbt-jflex插件假设源代码在src/main/flex中,而我的项目中有src/main/jflex。添加以下内容即可修复此问题:

代码语言:javascript
复制
sourceDirectory in jflex <<= (sourceDirectory in Compile) { _ / "jflex" }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13894108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档