繁体   English   中英

Eclipse - 另一个Project中的参考文件

[英]Eclipse - Reference file in another Project

编辑:我在帖子底部的解决方案。

我有2个项目在eclipse中共享相同的XML / XSD数据。 我已经尝试了很多不同的东西来将数据分解成一个单独的项目,而只是通过各种方法引用它,运气不大。 我的目标是这样我可以单独在每个项目的eclipse中单击运行,并且它们都从相同的数据加载。

当项目最终构建时,将有3个jar(两个项目,+一个lib),它们将与xml和xsd文件夹位于同一目录中。 因此,对XSD / XML的任何文件引用当前的格式如下:

File file = new File("xml/pixtilemaps.xml");

这在eclipse中不起作用,但由于文件结构合理,在导出期间有效。 我尝试在每个项目中使用虚拟文件夹,但它看起来不像对相关文件的运行时引用以我期望的方式使用虚拟文件夹。 我尝试将每个添加为链接资源,在构建路径上添加项目等,但无论我做什么,它似乎都不会将xml文件夹视为相对文件夹。 我得到一个错误:file:/ F:/workspace / com.myoid.editor / xsd / pixixmaps.xsd不存在。 因为它需要它相对于项目。 我也试图找到一个运行配置解决方案,但显然有一些我不理解让我按照我想要的方式工作。

总而言之,在第三个eclipse项目中有一个xsd文件夹,xml文件夹,我希望1和2能够通过相关的文件路径访问

File file = new File("xml/pixtilemaps.xml");

我是如何修理它的:

好吧..所以......也许有更好的解决方案,但这就是我提出的......在运行配置的Eclipse中,您可以指定启动运行的工作目录。 所以我把所有xml / xsd放在同一个“工作目录”中的两个项目中。 在每个项目的运行配置中,我将工作目录指向第三个项目,而中提琴,它的工作方式与我预期的一样。

在前两个项目的构建路径中添加第三个项目作为project reference

在前两个项目中使用ClassLoader.getResourceAsStream代替File ,如下所示:

    this.getClass().getClassLoader().getResourceAsStream("/xml/pixtilemaps.xml");

您是否尝试通过项目菜单 - >属性 - > java构建路径 - >添加项目来引用项目1和项目3中的项目3?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM