Java 当多个模块使用同一个jar时,如何克服jar依赖地狱?

Java 当多个模块使用同一个jar时,如何克服jar依赖地狱?,java,android,build,jar,intellij-idea,Java,Android,Build,Jar,Intellij Idea,我有一个Android项目,有多个模块。这些都是Git子模块,其中有几个是用相同的JAR打包的(android支持v4、Guice、Roboguice等)。我的主项目也有这些相同的依赖项,所以我有三个JAR副本,一个在我的项目中,两个子模块中各有一个 当我构建时,它在dex阶段失败,抱怨已经添加了某些类。我可以解决这个问题,除去所有模块中的jar,除了一个,然后将依赖项指向那个位置,但感觉太脏了。一定有更好的办法。有什么建议吗?使用Maven或Ivy之类的构建工具为您管理依赖项,这样您就不必将J

我有一个Android项目,有多个模块。这些都是Git子模块,其中有几个是用相同的JAR打包的(android支持v4、Guice、Roboguice等)。我的主项目也有这些相同的依赖项,所以我有三个JAR副本,一个在我的项目中,两个子模块中各有一个


当我构建时,它在dex阶段失败,抱怨已经添加了某些类。我可以解决这个问题,除去所有模块中的jar,除了一个,然后将依赖项指向那个位置,但感觉太脏了。一定有更好的办法。有什么建议吗?

使用Maven或Ivy之类的构建工具为您管理依赖项,这样您就不必将JAR检查到项目中。

您使用的是Eclipse ADT吗?如果是这样,此问题已通过最新的ADT解决。旧的一个曾经有你正在描述的问题,但新的一个应该工作。 有关详细信息,请查看此链接:

不知道为什么有人拍了这部电影。这个问题的答案是:“Maven”。@djechlin可能是那个毛茸茸的家伙也尖叫了,因为他读到了Maven?对不起,我认为IntelliJ在当前版本中不支持这一点。你最好的选择是使用外部构建工具(比如Maven),正如Matt所建议的那样我一直在使用Ant作为我的外部构建工具。这是使用Ant设置的固有问题吗?我认为Ant目前不支持这一点。您可以尝试创建一个包含JAR的新库项目,并从其他项目中引用它。