Java:正确组织外部库?

时间:2016-01-16 03:54:48

标签: java eclipse coding-style

所以我参加了一个让我使用外部库的Coursera课程。大多数每周项目所依赖的两个.jar文件。

我不完全确定eclipse如何编译和运行文件,以及它如何链接到这些外部库 - 组织这个的正确方法是什么?我是否在每个项目目录中放置了每个.jar文件的副本?

我应该组织另一种更清洁的方式吗?

谢谢 -

2 个答案:

答案 0 :(得分:0)

作为初学程序员,可以将它放在每个项目中。但请考虑这是正在进行的工作,并且在将来的某个时候您希望升级到这些外部库的新版本。然后你必须到处复制它。

相反,另一种选择是将它们存储在一个地方,并在每个项目的类路径中添加它。现在你只有一份副本,总是更好。

现在,如果您获得新版本,那么文件名可能会更改,因此您仍然需要更改每个项目的类路径。

但我建议你以后担心这些问题以及其他问题。目前,专注于编程相关问题而不是配置。

答案 1 :(得分:0)

如果您希望以正式的方式专业地维护您的图书馆,那么您最好使用像Gradle of Maven这样的构建工具。

我建议你使用Gradle来维护项目,因为它有很多有用的构建工具供你使用。 Eclipse有一个Gradle插件,允许您使用Gradle项目。 请参阅以下链接。

让您了解Gradle如何以专业方式使用。 Android默认使用它来维护他们的项目。因此,Android java项目使用Gradle构建工具来维护其库源,编译过程等。

Gradle项目和普通java项目之间的区别在于Gradle项目有一个可供您使用的预定义脚本列表,它们可以在导出最终包(jar)之前获取库,编译它们并准备它们。所以Gradle所做的事情就是在编辑之前获取库并准备指定的工具,这样你就不会把它们弄得乱七八糟。它准备您的项目目录并远程维护您的库,因此如果它们可以从存储库中获得,那么它将确保在事先准备好它们并设置您的项目目录。

因此,您实际注意到的不同之处在于,您不是使用默认的Eclipse导出按钮来创建捆绑包(jar),而是使用Gradle插件添加的侧边菜单中的按钮,而不是使用默认的Eclipse导出按钮来创建捆绑包(jar)。您也可以在文件中以结构化顺序干净地列出库,这些文件将添加到项目根目录中。

如果您想基本了解它是如何工作的,并且真的想开始专业或正式构建您的项目,那么尝试在Android Studio中创建一个非常基本的Android应用程序。 请参阅以下链接

如果这不是您想要的,并且不想将它带到这个高级级别,那么将库包添加到项目中的某种lib文件夹中root是最佳实践。

如果你想知道为什么?基本上不同的项目可能会使用不同版本的库,可能会添加或删除对它们的支持。因此,为了使版本保持一致并确保为您提供正确的版本,您可以直接在项目附近获得源代码。

这里有一些有用的链接: