从第谷构建引用工作区项目

问题描述

最近我成功地设置了一个 Tycho 环境来构建我的 RCP 应用程序并且它运行良好。但是我有一个问题 - 我的项目引用了另一个带有库的项目,这不是一个 eclipse 插件,当我将此项目添加到我的 RCP 插件的类路径时,第谷无法编译它,抱怨没有找到库类,所以我有将带有此库的 jar 复制到插件文件夹中。这很不舒服,因为我不能直接调试和修改库,每次修改时我都需要复制jar,并且由于某种原因eclipse在调试运行后打开并没有关闭这个jar,所以我需要重新启动eclipse复制它。

显然,应该有一种方法可以指示第谷解决工作区依赖关系,但我在互联网上找不到任何线索。

所以有人可以帮忙吗?

工作区树的外观如下:

com.portlab.jc2.client
-bundles
--com.portlab.jc2.client.rcp
---src
----....
---icons
----....
---meta-inf
----MANIFEST.MF
---Application.e4xmi
---build.properties
---plugin.xml
---JC2-engine-1.0.0.jar
---.... (jars required by JC2-engine)
-features
--com.portlab.jc2.client.feature
---....
-releng
--....
-pom.xml

JC2-engine
-....

问题定位为:

主要的tycho 项目包含RPC 包,它需要通过maven 依赖的purejavacomm。 它还需要一个库,它也用于其他几个项目(不是基于 eclipse 的),并且这个库也需要 purejavacomm。 Tycho 2.2 允许解析 maven 依赖项,当我引用引擎库时,它也会自动尝试解析 purejevacomm。所以我不能将它作为依赖添加到我的 RCP 项目中,因为它已经被引擎引用了。 但是在 Eclipse 中,我看到有关访问限制的所有对 purejavacomm 对象的引用的警告:不是 API。 之后,应用程序无法从 eclipse 启动,抱怨找不到 purejavacomm 类之一,并且 maven 构建也失败,并在从 rcp 项目引用的 purejavacomm 类上出现编译错误

我发现了一些奇怪的解决方法来使 maven 构建成功:将 purejavacomm 的包装器添加功能依赖项和 MANIFEST.MF(在 eclipse 中立即产生错误),但是在构建 arifact 后不会运行错误加载类对于引擎引用的另一个 Maven 库 - Jackson。

Eclipse 运行/调试会话无论如何都无法启动。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...