java - 如何在多个项目中包含外部库而不制作多个副本 android java

标签 java android eclipse shared-libraries

我在我正在编写的许多不同 Activity 中使用afreechartedu.emory.mathcs.jtransformsorg.afree.chart安卓。我在配置每个新项目时遇到了很大的麻烦,这样我就可以

  1. 当我在 Eclipse IDE 中编写代码时,“查看”库中的类。
  2. 请参阅这些类的附加源代码
  3. 请参阅附加的这些类的 javadoc
  4. 当我尝试运行我的 Activity 时,请查看这些类的 .class 文件。

我现在所做的是为我使用的每个库制作 .jar、doc src 和 .properties 的副本。我将这四件事复制到我正在创建的每个项目(每个 Activity 一个)的本地 lib 文件夹中。

我一定错过了一些简单的事情。显然,我应该将这些库及其 doc、src 和 .properties 放在一个位置,并且我应该能够在使用这些库的每个项目中引用该位置。但我还没有弄清楚如何做到这一点。请告诉我怎么做。

如果有一种方法可以定义一组 jar 以及关联的 src 和 doc,并且我所做的任何新 eclipse 项目都会自动且始终搜索它们,那就更好了。

编辑添加后关于外部库的答案:

所以我确实将 jtransforms-2.4.jar 放在外部目录中。在同一目录中,我放置了包的 src 和 doc,以及一个文件 jtransforms-2.4.properties,其中 doc 和 src 条目指向带有 doc 和 src 的本地文件。我将它们作为外部 jar 添加到我的构建路径中。

1) Eclipse IDE 确实找到了 .jar 中的类,并且没有将任何内容标记为丢失。 2)文档和src显示为未附加。 如何将 doc 和 src 信息与库一起放置,以便它们自动显示我将 jar 链接为外部 jar 的每个位置? 3) 当我尝试运行该应用程序时,我收到了“jar 中所有类的 NoClassDefFound 错误”。也就是说,Eclipse IDE 可以在外部库中找到这些类,但它们没有进入该类的类路径应用程序。

摘要:因此“外部 jar”技术在三个重要方面中的两个方面失败了: 1) Eclipse IDE 中没有显示附件中的 src 和 doc 2)不向App提供更新的类路径。

最后:当我将 jar、.properties、doc 和 src 复制到项目的 lib 文件夹中,并删除外部 jar 引用时,一切正常。

所以我重申我原来的问题,给出的答案(添加到构建路径作为外部jar)没有解决任何问题。

最佳答案

您可以使用maven对于 android,如果 jar 位于 Maven Central 中,则只需引用它。如果没有,只需将其放入本地 Maven 存储库中(我在本地计算机上运行一个)。

Maven 将管理诸如此类的依赖关系。由于 eclipse 也有一个 Maven 插件,它也会正确地看到您的项目引用。我最近进行了切换,这是非常值得的(但花了几天时间才能正确设置)。

关于java - 如何在多个项目中包含外部库而不制作多个副本 android java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14287321/

相关文章:

java - cvc-复杂类型.2.4.a : Invalid content was found starting with element 'location'

java - Clojure STM ( dosync ) x Java 同步块(synchronized block)

android - 构建 Rails 网络应用的移动应用衍生产品

javascript - 让 Eclipse Helios Javascript 正常工作

android - 如何找出 Android API 的默认行为/值?

java - 并行运行长作业,并且仅在所有作业完成后更新 UI

eclipse - 在 Eclipse 中打印或编辑运行/外部工具配置中的变量

java - 禁用 Jersey 的 ObjectMapper 缓存?

java - 用于双向关联的 @ManyToMany/@OneToMany 映射属性

jakarta.xml.bind.ContextFinder.handleClassCastException 处的 java.lang.NullPointerException