"taskdef class JFlex.anttask.JFlexTask cannot be found" 建造烟灰时



我正在尝试建造烟灰。

我已经使用 svn co https://svn.sable.mcgill.ca/abc/trunk/JastAddExtensions/下载了jastaddextensions的源代码,使用

检查了烟灰的代码
  • git remote add soot https://github.com/Sable/soot.git
  • git pull soot develop

然后我尝试使用ANT构建烟灰,并收到以下错误消息:

D:devro-01sootbuild.xml:102: The following error occurred while executing this line:
D:devro-01JastAddExtensionsSootJastAddJbuild.xml:18: taskdef class JFlex.anttask.JFlexTask cannot be found
 using the classloader AntClassLoader[]

如何解决此错误?在哪里可以下载与当前版本的烟灰兼容的JastAddExtensionsSootJastAddJ代码?

您将在烟灰邮件列表中更快地获得帮助。您不需要构建烟灰的jastadd部分。它是在"生成"目录中预先构建的。

查看:

http://jflex.de/jflex_anttask.html

简单的答案:您可能还没有将JFLEX JAR复制到Ant的Library文件夹/目录。

如果那没有使您弄清楚……更复杂的解决方案:找到烟灰蚂蚁文件,可能在项目root目录中作为build.xml。

然后找到一个名为" JFLEX"的任务定义,可能看起来像这样:

<taskdef classname="jflex.anttask.JFlexTask" name="jflex" />

将其更改为这样的东西:

<taskdef 
  name="jflex" 
  classname="jflex.anttask.JFlexTask"
  classpath="${compiler_tools_path}${jflex_jar_name}"
/>

在开头附近,随着其他属性,使用目录/文件夹的位置创建新的属性,然后将最新的JFLEX JAR复制到:

<property
name="compiler_tools_path"
    value="/Library/CompilerTools/"
/>

这是创建目录/文件夹以将其存储在Mac上的合适场所。Windows和Unix,在任何外部安装的罐子都存储。

<property
name="jflex_jar_name"
value="jflex-1.5.1.jar"
/>

最近的JFLEX JAR构建的一个例子。结帐:

http://jflex.de/

我希望这很有帮助。

  • 杰夫

我在烟灰存储库中查看了build.xml。问题在于目标jastadd。JustAdd编译器使用Beaver作为解析器生成器,这也需要JFLEX作为用于处理的扫描仪生成器。FLEX文件。

只需遵循上述简单解决方案即可。确保将复制到Ant Lib目录的JFLEX-1.5.1.JAR文件重命名为" JFLEX.JAR",这全是我给您的第一个链接的文档中。

我这么晚回答了这个问题,因为我只是遇到了与Eclipse项目中的JFLEX一起使用的类似问题。

  • 杰夫

相关内容

  • 没有找到相关文章

最新更新