将大型代码项目从Unix框移动到eclipse项目中

时间:2011-12-21 16:09:42

标签: java eclipse unix

我有一个驻留在unix服务器上的大型代码库,为了提高编写未来代码和调试已有的代码的效率,我想将任何代码移动到eclipse项目并调试从那里开始。

我已经看过远程调试,但我希望能够在本地调试大部分代码。大多数代码都是用java编写的,但运行它依赖于一些unix和perl脚本。

如果有人能指出我有用的方向,这将有助于我将这个庞大的代码库带入eclipse项目,使用合适的路径设置正确的调试配置等等。我将非常感激。即使是我能适应我需要的一般文件也是一个奖励。我意识到一个简洁的答案是不可能的。

提前致谢。

2 个答案:

答案 0 :(得分:1)

我认为(?)您不是在Unix(Linux,MacOS,BSD,...)系统上,问题是什么?

细节将特别针对您的项目。但是,简短的回答是:

  • 尝试将Java与本机代码位隔离,如果可能,将其分为两个项目。 Eclipse以这种方式更好地处理事物。如果没有,你仍然可以忍受,但它不会那么愉快。
  • 如果您使用的是Windows类型的系统,则可以安装CygWin和/或MinGW以提供您缺少的基本实用程序。您可能需要编辑全局环境PATH(例如,点击Windows + Break并查找您的OS /版本的“系统设置/环境”对话框)以包含这些工具
  • 您还可以使用合理的Linux开发环境(包括Eclipse)安装虚拟机(VirtualBox,VMWare,QEMU等),而不是安装和配置Cygwin等(在我有限的经验中)。缺点包括文件交换,多头设置,而且大多数VM似乎没有提供像样的3D驱动程序,因此用户界面有点笨拙。如果您有备用计算机,或者不介意重新启动,将Linux安装到干净的分区或运行外部驱动器,可能是一个不错的选择。 (在这种情况下,您可以直接访问Windows驱动器。)

要实际导入项目:  *确保你的Eclipse有Java插件(总是包含在内)和(如果你需要它用于本机代码)安装了CDT(C / C ++开发工具包);  *创建两个项目,一个用于Java,一个用于本机代码,并将它们设置为同一工作集的一部分,和/或将它们作为另一个的依赖项目关联;  *大量摆弄项目属性。一般来说,Unix Makefile驱动的C代码可以在GCC工具链设置下工作,而不需要太多(如果有的话)装配。

您可能会发现自己想要在工作站和服务器版本上更改项目的文件路径;我强烈建议使用“define”前缀宏:例如传统的GNU宏是_prefix,在Linux主机上,测试版本通常为/usr/local,发布版本为/usr/opt/product-name(给予或采用);您可以将_prefix定义为C:/Users/JohnDoe/product-name/(是的,/适用于Windows,并使Unix代码更多更快乐)并适当地编辑字符串,如果您在代码中有硬编码的路径名。

不幸的是,Java并不真正支持使用“定义”系统,但您可能要么捆绑资源并以本机方式访问它们(相对于您的JAR /类路径......),要么使用{{ 1}}文件或类似文件。

答案 1 :(得分:0)

重要的问题是您的项目现在有多少依赖项以及用于构建它的工具?

如果您正在使用maven,您可以只安装maven,您可以通过运行mvn eclipse:eclipse创建eclipse项目,然后在eclipse中打开您的项目。

如果是ant项目,试着找到从ant脚本创建eclipse项目的工具(如果存在这样的工具)。如果不手动创建项目并配置所有依赖项。

完成后,您可以运行并调试代码的java部分。

Perl不是问题。只需将它安装在您的开发人员上机。如果您使用Windows进行开发,shell脚本可能会导致一些问题。在Windows上运行unix脚本的方法是使用Cygwin。当你在Windows上时,你将不得不改变(一点点)运行脚本的代码以在那里添加前缀cygwin

之后我希望您能够在本地运行和调试它。

或者,您也可以转到Linux。在这种情况下,您不会遇到脚本问题。如果你不能完全转移到Linux(依赖于MS Office,Outlook,公司政策等),你可以安装VMPlayer与一个流行的Linux发行版(例如Fedora,Ubunty等),并在这个将在Window框上运行的虚拟机上工作。

我希望这会有所帮助。祝好运。