Java:外部库的正确组织?

Java:外部库的正确组织?,java,eclipse,coding-style,Java,Eclipse,Coding Style,所以我参加了一个Coursera课程,让我与外部图书馆合作。大多数每周项目所依赖的两个.jar文件 我不完全确定eclipse是如何编译和运行这些文件的,以及它是如何链接到这些外部库的——组织这些文件的正确方式是什么?我是否将每个.jar文件的副本放在每个项目目录中 我是否应该用另一种更干净的方式来组织这件事 谢谢--作为一个初学者程序员,在每个项目中都可以使用它。但是,请考虑这是正在进行的工作,在将来的某个时候,您希望升级到这些外部库的新版本。那你就得到处复制 相反,另一种选择是将它们存储在一

所以我参加了一个Coursera课程,让我与外部图书馆合作。大多数每周项目所依赖的两个.jar文件

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

我是否应该用另一种更干净的方式来组织这件事


谢谢--

作为一个初学者程序员,在每个项目中都可以使用它。但是,请考虑这是正在进行的工作,在将来的某个时候,您希望升级到这些外部库的新版本。那你就得到处复制

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

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


但我建议你以后再担心这些和其他类似的问题。现在,关注编程相关的问题,而不是配置

如果你想在一个正式的庄园里专业地维护你的库,那么最好使用像Maven的Gradle这样的构建工具

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

让你了解Gradle是如何被专业使用的。Android现在默认使用它来维护他们的项目。因此,Android java项目使用Gradle构建工具来维护其库源、编译过程等

Gradle项目和普通java项目之间的区别在于,Gradle项目有一个预定义脚本列表,您可以使用这些脚本获取库、编译库并在导出最终包(jar)之前准备它们。所以实际上,Gradle在编译之前要做的就是获取库并准备好指定的工具,这样您就不需要自己去处理它们了。它准备您的项目目录并远程维护您的库,因此,如果它们可以从存储库中获得,那么它将确保在准备之前适当地准备它们并设置您的项目目录

因此,您实际会注意到的区别是,您没有使用默认的Eclipse导出按钮来创建包(jar),而是使用Gradle插件添加的侧菜单中的一个按钮,并且在添加到项目根目录的文件中以结构化顺序清晰地列出库

如果你想对它的工作原理有一个基本的了解,并且真的想开始专业或正式地构建你的项目,那么试着在android Studio中创建一个非常基本的android应用程序。请参阅下面的链接

如果这根本不是您想要的,并且还不想将其提升到这个高级级别,那么将库捆绑包添加到项目根目录中的某种lib文件夹中是正确的最佳实践

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

以下是一些有用的链接: