如何在Eclipse启动配置中删除对其他项目库的显式依赖项?

时间:2010-05-17 23:57:39

标签: eclipse configuration dependencies launch

在Eclipse中,可以在项目中创建启动配置,指定来自另一个项目的运行时依赖项。我发现的一个问题是,如果你有一个多项目工作区,可能每个项目都有自己的库,很容易将二级项目中的显式依赖项添加到另一个项目的库中,因此可能会发生变化。

此问题的一个示例如下:

proj1
    +-- src  
    +-- lib  
           +-- jar1-v1.0.jar  
           +-- jar2-v1.0.jar  
proj2  
    +-- src  
    +-- proj2-tests.launch

我没有从proj2 / src中的代码到proj1 / lib中的库的依赖。不过,我确实有一个从proj2 / src到proj1 / src的依赖,虽然因为proj1 / src中的代码内部依赖于它的库jar1-v1.0.jar和jar2.v1.0.jar,必须在proj2-lib中的库中添加proj2-tests.launch中的依赖项。这转化为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文件中的简单。这可能吗?

1 个答案:

答案 0 :(得分:2)

除非我弄错了,如果你将project1添加到project2的构建路径,project2的启动器将包含正确的类路径,即使project1的依赖项发生了变化:

alt text http://img24.imageshack.us/img24/9511/eclipsebuildpath.png

(project2的属性,Java Build Path,选项卡“Projects”)