【问题标题】:Where to put Java libraries?在哪里放置 Java 库?
【发布时间】:2015-01-29 20:17:46
【问题描述】:

我想知道如何将 Java 库添加到开发机器上的 Eclipse 项目中,以便将它们添加到 Eclipse 项目中,而当有人在不同位置拥有该库时不会导致错误。例如,一位开发人员可能会在C:\Java 中添加一个外部 JAR,但另一位开发人员可能在其他地方拥有相同的 JAR。 (Mac OS 上的C:\Java 在哪里?)我想我可以设置CLASSPATH 环境变量,但我不知道如何从CLASSPATH 环境变量添加外部JAR。我想这样做,以便它适用于任何工作区。这可能吗?

这专门用于 Anypoint Studio,但我认为任何基于 Eclipse 的 IDE 都会存在同样的问题。

【问题讨论】:

  • 您需要将其添加到项目的构建路径中才能使其在本地工作。如果您想在不同的操作系统上运行您的项目,您可能需要使用指向 Maven 或 Ant 等存储库的构建工具来构建它。
  • 这就是依赖管理器存在的原因,对于java你想要maven。
  • Gradle 被许多人认为是 Maven 的演变,结合了 Ant 和 Maven 的优点。我建议在 Maven 之前考虑它。但是,如果变化太大,请查看下面我的答案中的替代方案。

标签: java eclipse mule-studio


【解决方案1】:

一般来说,建议要么将 JAR 直接嵌入到项目中,通常在项目的 /lib 文件夹中,as described here;或者使用 Gradle 或 Maven 之类的工具来管理依赖项,它们都有很好的插件来支持它们在 Eclipse 中的使用。

另一种选择是使用 Classpath Variable 来引用 JAR,它抽象了物理位置,以便可以在每个工作空间的基础上进行设置。

【讨论】:

    【解决方案2】:

    我认为将库添加到 Eclipse 项目的最佳方法是在您的项目目录中创建一个目录 - lib。然后将整个库添加到您的 Eclipse 类路径中。您可以按照这些步骤将库添加到类路径 -

    1. 右键单击项目并选择属性
    2. 选择 Java 构建路径
    3. 点击添加库并创建用户库
    4. 现在将 External Jars 添加到此库中,在第 3 步创建。 这样一个 .classpath 文件就会在您的项目目录中创建,CLASSPATH 问题将得到解决

    【讨论】:

      【解决方案3】:

      我想最好的方法是使用 Maven,或者类似的构建系统,它可以基于依赖项构建您的 Classpath。

      您可以将依赖项添加到您的 pom 中,并将 jars 放在机器的本地 maven 存储库中。

      http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

      因为在任何其他方法中,您都需要手动维护所有内容,并且当使用不同的操作系统时,路径会发生变化。

      【讨论】:

        【解决方案4】:

        Eclipse 只是帮助编写代码和组装项目(JAR、WAR、...)的 IDE。你可以从任何你想要的地方添加你的外部 jars,当你想要导出你的项目(使用 eclipse)时,你可以选择将所需的库打包到 jar 中。

        但是,我建议始终使用 maven(或类似的东西)来避免此类问题。

        【讨论】:

          【解决方案5】:
          • Part1:(导入 .jar 文件作为 Eclipse 中的库)

          你为 Eclipse(name:Project1) 创建了一个新项目 当你打开它你会看到JRE System Library[java version something]

          1.右键单击 JRE 系统库

          2.Go->构建路径->配置构建路径

          3。您可以看到(右上角按钮[添加罐子添加 外部jar]

          *这里我建议你选择first(add jars)但是..

          *首先复制(或移动)项目内的(name).jar((example):Project 1)

          *现在您可以使用按钮添加它(添加罐子)。

          *这样,当你完成你的项目时,(name).jar 将是 在项目中导入(如果从 Eclipse 将其导出为 .jar)

          ..现在你可以调用 (name).jar 的任何方法了(导入到类中) 你想使用并调用它)

          【讨论】:

            猜你喜欢
            • 2016-01-10
            • 1970-01-01
            • 2011-01-04
            • 2018-02-14
            • 2011-06-29
            • 2018-03-27
            • 2011-02-15
            • 2020-06-28
            • 1970-01-01
            相关资源
            最近更新 更多