[英]Developing a Java Eclipse project on both 32bit and 64bit Linux systems
我有一系列相关的项目,我放在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)上构建/运行项目将会很有趣!! 但是当我到达那里时,我会建造那座桥梁。
不要在整个工作区中使用它。 只需对各个项目进行操作即可。 在这里运作良好。
您在源代码管理中保留了什么?
最佳实践是仅在源存储库中保留手写的源文件。 不是二进制文件,生成的文件或IDE设置。
我认为您的64位Eclipse的IDE设置存在问题,而不能使用32位的Eclipse。
只需删除工作区中的.metadata
目录,然后重新导入此Eclipse中的所有项目。
您正在开发哪种类型的项目? java项目或插件项目?
如果您正在开发插件项目,则您的项目不应直接依赖于具体的swt片段(例如swt.gtk,swt.win32)。 它应该依赖于主机插件'org.eclipse.swt',即swt的实际实现是不同平台中的不同片段。
如果您正在开发一个需要swt作为第三方要求的java项目。 您可以为32bit和64bit eclipse安装eclipse delta软件包。
为避免平台问题,您还可以考虑使用Maven。 使用Maven 2或3,可以很容易地解决配置文件平台问题的可选组合。 使用Eclipse的几个Maven插件,可以直接将Maven项目导入Eclipse。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.