如何解决这个Android Project依赖问题?

时间:2011-08-31 14:37:14

标签: java android eclipse dependencies project

我在Eclipse下有以下项目:

A(Android项目)=> B(Java Project)=> C(Java项目)

其中符号“=>”表示符号左侧的项目取决于符号右侧的项目,项目B的构建路径在所有情况下始终包含项目C

如果我在项目A的构建路径下包含项目B和C,则A运行没有问题。

但是,如果我在项目A的构建路径下包含项目B而不包括项目C,则A

是否可以选择解决上述问题而不在项目A的构建路径中包含项目C ,因为A和C之间没有直接依赖关系?

请注意,C不应该转换为Android项目,以便允许依赖它的其他java项目(此处未指出)也可以运行。

3 个答案:

答案 0 :(得分:0)

虽然有很多解决方法,但是你无法解决基本问题。

必须包含所有内容,否则您将获得classnotfound异常。您始终可以将Project C构建到JAR文件并将其包含在lib路径中,然后您就不必具有项目依赖性。将项目B构建到Jar文件,您可以开发Android项目,而无需任何eclipse Java项目的引用。

如果您下载一个jar文件,例如Farmors super lib far.jar,并且我的lib有其他依赖项,您必须将它们提取到依赖关系等等,这就是这种方式。这就是为什么我们有像maven这样的高级工具处理所有这些依赖性的混乱。

答案 1 :(得分:0)

项目C的Librairy应该由项目B导出。

http://www.informit.com/articles/article.aspx?p=367962 第6.1.4节

此致  斯特凡

答案 2 :(得分:0)

我认为您的最佳解决方案是将项目移至使用 maven 常春藤等工具。这些工具可以帮助您管理这种依赖管理的问题。当然,这些工具提供了更多功能,例如,改进构建过程,过滤资源,自动部署工件,创建报告等等。

我和maven一起工作很多,我试着解释一下如何在你的案例中解决问题。首先,您可以对我们的所有项目(包括Android项目)进行编组,并定义项目之间的关系( A 取决于 B ,谁依赖于 C ),仅为maven项目设置最重要的项目'pom.xml'文件。

在[此链接] [3]中,您可以阅读依赖机制简介。这个想法很简单:你需要定义每个项目所需要的组织,可以是网络周围的工件或库。 Maven将下载所有内容并构建每个项目。在您的情况下,您可能需要构建C项目,B项目将自动(一旦配置正确),A等等。

注意理解依赖关系的管理方式,因为它是关键。

顺便说一下,在Android项目中,您可能需要使用适合您目的的[Android maven插件] [4]。

祝你好运!