在32位和64位Linux系统上开发Java Eclipse项目

时间:2010-12-03 22:05:40

标签: java eclipse classpath windowbuilder

我有一系列我在Git控件下放置的相关项目(所有这些项目都在同一工作区,这是Git存储库的顶层)并从我的桌面(32位)克隆到我的笔记本电脑(64位)所以我可以在任何地方工作。工作区.metadata文件夹被排除,但项目文件夹中的所有内容都被跟踪。

当我在笔记本电脑上打开克隆的工作区时,我遇到了一个错误:

Project 'project' is missing required library:
'/usr/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.5.2.v3557f.jar'

显然,64位eclipse没有32位库,但我很好奇如何解决这个问题。

该库是作为Window Builder SWT / JFace项目模板的一部分添加的。在eclipse插件文件夹中有一个org.eclipse.swt_3.5.2.v3557f.jar,但更改类路径以查找它不起作用(奇怪地找不到SWT)。查看SWT / JFace项目的.classpath文件的其余部分,这个特定的库是唯一的,它是特定于平台的。

我将库的两个版本放在.classpath中,这允许代码构建/运行,但是我必须忽略构建路径错误,当我拉出时,此错误将传播回我的桌面笔记本电脑改变了。

我可以将笔记本电脑上的64位jar符号链接到32位名称,以便类路径可以找到库吗?还有其他更好的解决方案吗?

更新: 看起来这种类型的项目必须依赖于具体的SWT片段,所以在有更好的解决方案之前,我将在两台机器上对这些片段进行符号链接,以将编译器指向正确的片段。在其他机器(尤其是Windows)上构建/运行项目将会很有趣!!但是当我到达那里时,我会建造那座桥梁。

4 个答案:

答案 0 :(得分:1)

不要在整个工作区中执行此操作。只需对各个项目进行操作即可。在这里运作良好。

答案 1 :(得分:1)

您在源代码管理中保留了什么?

最佳做法是仅在源存储库中保留手写的源文件。不是二进制文件,生成的文件或IDE设置。

我认为您的64位Eclipse的IDE设置存在问题,而不能使用32位的。

只需删除工作区中的.metadata目录,然后重新导入此Eclipse中的所有项目。

答案 2 :(得分:1)

您正在开发哪种类型的项目? java项目或插件项目?

如果您正在开发插件项目,您的项目不应直接依赖于具体的swt片段(例如swt.gtk,swt.win32)。它应该依赖于主机插件'org.eclipse.swt',即swt的实际实现是不同平台中的不同片段。

如果您正在开发一个需要swt作为第三方要求的java项目。您可以为32bit和64bit eclipse安装eclipse delta软件包。

答案 3 :(得分:0)

为避免平台问题,您还可以考虑使用Maven。使用Maven 2或3,可以很容易地解决配置文件平台问题的可选组合。 使用Eclipse的几个Maven插件,可以直接将Maven项目导入Eclipse。

相关问题