我怎样才能让eclipse和ecj java genetics系统很好地协同工作?

时间:2014-02-11 17:54:41

标签: java eclipse genetic-algorithm

注意:这篇文章不是关于eclipse创建的java的eclipse编译器 - 只是为了确保没有混淆。

我试图让ecj genetics编程系统在windows上构建eclipse kepler。 ecj可以在这里找到:

http://cs.gmu.edu/~eclab/projects/ecj/

文件结构有一个基本文件夹ec。它有导入引用,就像ec.app.tutorials1文件夹中的tutorials1(MaxOnes.java)中的引用一样。

package ec.app.tutorial1;
import ec.*;
import ec.simple.*;
import ec.vector.*;

在创建项目时,我已经构建了一个名为ecj的新项目,使用项目文件夹作为源和类文件的根,并在其下添加了ec作为存储所有内容的文件夹。

导入会出现错误

    the import ec cannot be resolved

并且包裹不匹配。

Eclipse建议修复一个名为ec的项目文件夹,但ecj.ec上已有一个:/

删除ec。

package app.tutorial1;
import ec.*;     <--- ???
import simple.*;
import vector.*;

修复了导入的引用问题(就好像项目已经引用了ec),但是在ec.simple文件夹中找不到应该导入的java文件。我确定这只是一个我以前从未遇到过的简单设置问题。

我还尝试创建一个名为ec的项目,但问题相同。 ecj代码库是为具有普通java层次结构的unix环境设计的。在linux上我会设置CLASSPATH来解决这些问题,但是从未在eclipse中处理过这个问题。

我想要做的是将教程和其他代码编译成为unix编写的,因此没有特殊项目或文件位置交换。显然罗伯特巴鲁克的YouTube视频解释了所有这些,但他们已经离开了YouTube。

我正在等待ecj邮件列表上的回复,并在我得到答案时会在这里更新。这篇文章可以作为参考,帮助他人,如果他们无法找到在日食上设置ecj遗传学的答案,以防Baruch的YouTube视频再次失踪。

2 个答案:

答案 0 :(得分:1)

出于某种原因,我认为我需要在运行配置中将tutorial1文件MaxOnes.java作为Main类文件。显然,参数文件必须处理此链接。感谢来自ECJ-INTEREST-L的Xiaomeng Ye的线索。

对于任何其他需要知道这个的人我是怎么做到的......

  1. 创建一个名为ecj的新项目,
    • 选择使用项目文件夹作为源和源文件的根目录
    • 点击完成
  2. 右键单击ecj文件夹并选择Import ...
    • 单击File System文件夹,然后单击Next
    • 从下载的存档中浏览ec文件夹, 我是 C:\ ecj \ ec&lt; - 你想要ec文件夹中的文件
    • 单击ec文件夹旁边的复选框以选择所有文件
    • 单击“创建顶级文件夹”复选框,然后单击“完成” 打开ecj项目,你会看到所有子文件夹都有ec。参考
  3. 设置运行配置(给出教程1)
    • 点击运行(主菜单)运行配置...
    • 在Java Application下单击New按钮
    • 输入名称, 教程1
    • 表示Main类:type ec.Evolve
    • 点击Arguments选项卡
    • 在程序参数框中输入
    • , -file ec / app / tutorial1 / tutorial1.params
    • 点击“应用”
  4. 要试用tutorial1,请单击“运行”
    • 如果Eclipse设置为
    • ,您将收到错误消息
    • 在控制台窗口中查看输出
  5. 希望这可以帮助其他人更快地启动和运行ecj。

答案 1 :(得分:0)

将告诉我如何尝试解决问题。 我看到 ecj.tar.gz ecj.zip 不包含jar文件,里面有java和class文件,所以我创建名为 ecj (想象力)来自消息来源。创建新项目从工作区外部选择一个源,并选择解压缩的文件夹 ecj.zip 。将源文件和编译文件保存在同一目录中(就像它们在ecj中一样)。

好吧,现在去你的另一个项目,那个需要ecj的项目。右键单击项目的根,属性 - Java构建路径,然后转到“项目”选项卡。选择您的ecj项目,然后单击OK。

重新编译项目后,您必须获得所需的所有依赖项和导入。

希望这有帮助。