【发布时间】:2016-01-16 03:54:48
【问题描述】:
所以我参加了 Coursera 课程,该课程让我使用外部库。大多数每周项目都依赖的两个 .jar 文件。
我不完全确定 eclipse 如何编译和运行文件,以及它如何链接到这些外部库——组织这些的正确方法是什么?我是否将每个 .jar 文件的副本放在每个项目目录中?
我应该用另一种更简洁的方式来组织这个吗?
谢谢--
【问题讨论】:
标签: java eclipse coding-style
所以我参加了 Coursera 课程,该课程让我使用外部库。大多数每周项目都依赖的两个 .jar 文件。
我不完全确定 eclipse 如何编译和运行文件,以及它如何链接到这些外部库——组织这些的正确方法是什么?我是否将每个 .jar 文件的副本放在每个项目目录中?
我应该用另一种更简洁的方式来组织这个吗?
谢谢--
【问题讨论】:
标签: java eclipse coding-style
作为初学者程序员,可以把它放在每个项目中。但考虑到这是正在进行的工作,并且在将来的某个时间您希望升级到这些外部库的新版本。然后,您将不得不将其复制到任何地方。
另一种选择是将它们存储在一个位置并将其添加到每个项目的类路径中。现在你只有一个副本,这总是更好。
现在,如果您确实获得了新版本,那么文件名可能会更改,因此您仍然需要更改每个项目的类路径。
但我建议您稍后再担心这些和其他此类问题。现在,专注于编程相关的问题而不是配置。
【讨论】:
如果您想在正式的庄园中专业地维护您的库,那么您最好使用像 Gradle of Maven 这样的构建工具。
我建议您使用 Gradle 来维护项目,因为它有很多有用的构建工具可供您使用。 Eclipse 有一个可用的 Gradle 插件,它允许您使用 Gradle 项目。 请参阅下面的链接。
让您了解如何专业地使用 Gradle。 Android 现在默认使用它来维护他们的项目。所以 Android java 项目使用 Gradle 构建工具来维护其库源、编译过程等。
Gradle 项目和普通 java 项目之间的区别在于,Gradle 项目有一个可用的预定义脚本列表,用于获取库、编译它们并在导出最终包 (jar) 之前准备它们。因此,Gradle 之前所做的实际上就是在编译之前获取库并准备指定的工具,这样您就不需要自己弄乱它们了。它准备您的项目目录并远程维护您的库,因此如果它们可从存储库中获得,那么它将确保事先适当地准备它们并设置您的项目目录。
因此,您实际注意到的不同之处在于,您无需使用默认的 Eclipse 导出按钮来创建您的包(jar),而是使用 Gradle 插件添加的侧面菜单中的一个按钮,您还可以在添加到项目根目录的文件中以结构化顺序清晰地列出库。
如果您想对其工作原理有一个基本的了解,并且真的想开始专业或正式地构建您的项目,那么请尝试在 Android Studio 中创建一个非常基本的 android 应用程序。 见下面的链接
如果这根本不是您想要的并且不想将其提升到这个高级级别,那么将库包添加到位于项目根目录中的某种 lib 文件夹中是最佳实践。
如果你想知道为什么?好吧,基本上不同的项目可能会使用不同版本的库,这可能会添加或删除对它们的支持。因此,为了保持版本一致并确保为您提供正确的版本,您可以在项目本身附近拥有直接来源。
这里有一些有用的链接:
【讨论】: