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

我正在尝试使ecj遗传学编程系统建立在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编写的方式进行编译,因此无需特殊项目或文件位置交换。显然,罗伯特·巴鲁克(Robert Baruch)的YouTube视频解释了所有这一切,但它们已从YouTube上消失了。

我正在等待ecj邮件列表上的答复,当我得到答复时,它将在这里更新。如果Baruch的YouTube视频再次失踪,那么当其他人找不到在eclipse上建立ecj遗传学的答案时,这篇文章可以作为参考,以帮助其他人。

最佳答案

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

对于其他需要知道这是我是怎么做的...


创建一个名为ecj的新项目,

选择使用项目文件夹作为源和类文件的根目录
单击完成

右键单击ecj文件夹,然后选择导入...。

单击文件系统文件夹,然后单击下一步
从下载的档案中浏览ec文件夹,
我的是
C:\ ecj \ ec 单击ec文件夹旁边的复选框以选择所有文件
单击“创建顶级文件夹”复选框,然后单击“完成”。
打开ecj项目,您会看到所有子文件夹都有ec。参考

设置运行配置(给出了tutorial1)

单击运行(主菜单)运行配置...
在Java应用程序下,单击“新建”按钮
输入名称,
tutorial1
对于主类:
进化
单击参数选项卡
在“程序参数”框中,键入
-文件ec / app / tutorial1 / tutorial1.params
点击应用

要尝试tutorial1,请单击“运行”

如果以这种方式设置了Eclipse,则会收到一条错误消息
在控制台窗口中查找输出



希望这可以帮助其他人更快地在ecj上启动并运行。

10-02 11:04