【问题标题】:Best way to work with online dependencies in Java在 Java 中处理在线依赖项的最佳方式
【发布时间】:2015-05-12 14:13:39
【问题描述】:

首先,对不起我的英语不好。

嗯,我有一个 Minecraft 服务器,对于那些不知道的人,它可以与 Java 插件一起使用。要创建插件,需要导入依赖项(运行服务器的 jar)。

由于有时我需要修改这些依赖项,因此我必须将它们保存在我的 Dropbox 中,因为我与其他开发人员一起工作。

我开始考虑更简单的方法来实现这些目标。经过一番研究,我发现了有关 maven 的信息,并尝试使用 Artifactory 和 Nexus,但两者都存在很多问题:我的 IDE(刚​​开始使用 Intellij)只是在存储库管理器中找不到 .jar(也在 Eclipse 和 NetBeans 上进行了验证)。

--------问题从这里开始--------

那么,为了能够导入它们并保持更新(即使它在本地缓存),让这些依赖项在线(我有一些 Linux CentOS 服务器来托管它们)的最佳、最简单和最简单的方法是什么?无需处理文件?

【问题讨论】:

    标签: java eclipse maven intellij-idea dependencies


    【解决方案1】:

    Artifactory 或 Nexus 是实现此目的的好方法。

    您需要配置您的 IDE 以指向您的存储库或相应地调整您的 Maven pom.xml 文件,因为您的存储库不是 Maven 的默认存储库(称为 Maven Central,可通过网络浏览器访问@@ 987654321@).

    这是我使用的 pom.xml 文件中经过稍微编辑的摘录:

    <repositories>
        <repository>
            <id>fooco-repositories</id>
            <url>https://build1.fooco.com/nexus/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
            </releases>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>daily</updatePolicy>
            </snapshots>
        </repository>
    </repositories>
    

    请参阅http://maven.apache.org/guides/introduction/introduction-to-repositories.html 上的“使用内部存储库”

    【讨论】:

    • 我尝试将它与 maven 和 nexus 一起使用,但在我的 IDE 上找不到文件,而我可以在浏览器中访问存储库
    • 你有 IntelliJ 对吗?您是否使用 Maven 构建项目?如果您通过指向 pom.xml 导入项目,您应该获得正确的 Maven 集成。此外,Maven 使用的 URL 可能与浏览器中使用的 URL 略有不同。
    • 我在 http://198.27.75.23:8081/artifactory/ 上安装了 artifactory,我想使用来自 org/bukkit/bukkit/1.7.10/bukkit-1.7.10.jar(插件发布)的 .jar,我在我的项目中有这个 pom.xml。对我来说,这似乎是正确的,但是当我尝试使用此依赖项中的类时,Intellij 无法识别它们。
    【解决方案2】:

    这可能有点矫枉过正 - 但正如上面所建议的,设置一个 nexus 服务器可能是你想要的。

    您正在寻找的工件很可能不会消失,但配置的关键是您通常可以在此处找到的“settings.xml”:

    "~/.m2/setting.xml"
    

    在那里,您可以拥有上面列出的“存储库”节以及“服务器”节,这些节允许您设置用户/密码组合以部署到其中的不同存储库。

    如果您在互联网上共享,您可能想要强化您的 nexus 服务器、打开/启动身份验证等,超出了本文的范围......

    【讨论】:

    • 您的意思是,用nexus 或我的电脑中的服务器更改settings.xml
    • 本地计算机上的那个(请参阅'~' - 抱歉 *nix 不确定 Windows 上/中的主目录是什么)。您需要确保使用正确的密码指向正确的存储库,并且所有这些都已在本地 settings.xml 中配置。
    • 那么,每个要使用这个存储库的人都需要更改他们的 settings.xml?
    • 是的 - 上面列出的节是让 maven 找到您的服务器的唯一方法。
    • 可能还想结帐 bintray
    【解决方案3】:

    最简单的方法(不是最好的方法)是在此处创建一个 GIT 存储库,例如 - https://bitbucket.org/ 并将您的源代码与您需要的所有 JAR 一起放入。要构建您的项目,您可以使用 maven/gradle/ant+ivy。

    【讨论】:

    • 但是如何使用来自 bitbucket 项目的 maven?我找到了一些教程,但它只是没有在我的项目中下载 .jar
    • Bitbucket 和 Maven 是两个完全不同的东西。
    • 是的,我明白了。但我不明白的是如何使用 maven 构建我的项目,以便从我的 bitbucket 存储库中获取依赖项。
    • 查看此链接stackoverflow.com/questions/5692256/…。这就是我包含静态 JAR 的方式:&lt;dependency&gt; &lt;groupId&gt;com.mygroup&lt;/groupId&gt; &lt;artifactId&gt;artifactName&lt;/artifactId&gt; &lt;version&gt;1.0&lt;/version&gt; &lt;scope&gt;system&lt;/scope&gt; &lt;systemPath&gt;${basedir}/src/lib/somelib.jar&lt;/systemPath&gt; &lt;/dependency&gt;
    猜你喜欢
    • 2013-03-08
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 2020-03-10
    • 2019-05-30
    • 2014-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多