【问题标题】:Handling server JAR in maven在 Maven 中处理服务器 JAR
【发布时间】:2011-07-02 15:38:43
【问题描述】:

我的项目中有一些服务器 jars 我想迁移到 maven ..

我不知道如何将依赖项附加到这些 jars.. 几乎有 24 个 jars.. 那么如何将它们添加到项目范围

【问题讨论】:

  • 服务器 jar 是什么意思?它们是在编译时需要还是在运行时需要,还是两者都需要?
  • 它们在编译时和运行时都是必需的。

标签: jar maven m2eclipse nexus


【解决方案1】:

您可以采取的方法取决于您是否有权访问这些“服务器”jar 的来源。如果你这样做了,那么没有什么能阻止你创建一个/多个 Maven 项目,打包这些项目并将它们部署到你的 Maven 存储库中。

如果您无权访问源并且这些在官方 Maven 存储库中尚不可用,那么您所能做的就是使用 maven install 将它们放入您的 Maven 存储库:

通常,您需要将 3rd 方 JAR 放入本地存储库中,以便在构建中使用。 JAR 必须放置在本地存储库中的正确位置,以便 Maven 正确拾取它。为了使这更容易,更不容易出错,我们在安装插件中提供了一个目标,应该使这相对容易。

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \ -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

完成所有这些 jar 文件后,只需将依赖项添加到您的项目中即可。

【讨论】:

    【解决方案2】:

    我不建议您在 POM 中添加服务器 jar,而我只使用 API jar

        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>6.0</version>
            <scope>provided</scope>
        </dependency>
    

    优点是您符合可移植标准。如果 M2E 支持 API,它会正确编译并在部署到运行时时仍能正确运行您的应用程序。

    如果您想明确地看到它,您可以通过转到项目首选项然后转到目标运行时来添加运行时。您只需要在 EAR 上完成它就会为您完成 EAR 中包含的项目。添加目标运行时的好处是 Eclipse 可能会针对您的服务器进行额外的验证。

    【讨论】:

      猜你喜欢
      • 2016-09-14
      • 1970-01-01
      • 2015-10-26
      • 2011-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-25
      • 2015-02-08
      相关资源
      最近更新 更多