在 Eclipse 中,可以在一个项目中创建启动配置,指定来自另一个项目的运行时依赖项。我发现的一个问题是,如果您有一个多项目工作区,可能每个项目都有自己的库,那么很容易将辅助项目中的显式依赖项添加到另一个项目的库中,因此可能会发生变化。
这个问题的一个例子如下:
项目1 +-- 源代码 +-- 库 +-- jar1-v1.0.jar +-- jar2-v1.0.jar 项目2 +-- 源代码 +-- proj2-tests.launch
我没有从 proj2/src 中的代码到 proj1/lib 中的库的依赖关系。尽管如此,我确实有从 proj2/src 到 proj1/src 的依赖关系,尽管由于 proj1/src 中的代码对其库 jar1-v1.0.jar 和 jar2.v1.0.jar 存在内部依赖关系,我必须将 proj2-tests.launch 中的依赖项添加到 proj1/lib 中的库中。这转化为 proj2-tests.launch 中的以下丑陋行:
<listEntry value="<?xml version="1.0" encoding="UTF-8" Standalone="no"?> <runtimeClasspathEntry path="3" projectName="proj1" type="1"/> "/> <listEntry value="<?xml version="1.0" encoding="UTF-8" Standalone="no"?> <runtimeClasspathEntry internalArchive="/proj1/lib/jar1-v1.0.jar" path="3" type="2"/> "/> <listEntry value="<?xml version="1.0" encoding="UTF-8" Standalone="no"?> <runtimeClasspathEntry internalArchive="/proj1/lib/jar2-v1.0.jar" path="3" type="2"/> "/>
如果不需要不时地发展软件、升级库等,这不会是一个大问题。考虑升级库 jar1-v1.0.jar 和 jar2-v1 的常见需求。 0.jar 到他们的版本 v1.1。假设您在一个工作区中有大约 10 个项目,每个项目大约有 5 个库和大约 4 个启动配置。在对库进行简单升级时会产生维护开销,这通常意味着对不需要的文件进行更改。或者也许我做错了什么......
我想说的是 proj2 取决于 proj1 及其库,并将其简单地转换为 *.launch 文件中的那个。那可能吗?