【问题标题】:How to add path to jar in maven? [duplicate]如何在maven中添加jar的路径? [复制]
【发布时间】:2015-09-10 21:37:19
【问题描述】:

我需要在我的 maven 项目中使用 JAR。但是这些 JAR 位于 hdd 磁盘上,例如 d:\MyJar.jar。我需要在我的项目中使用它来解决依赖关系。

我知道我可以将它安装在本地 maven 存储库中,然后使用它。但我的客户出于某些原因不想要这个(害怕一些许可协议之类的东西,没关系,他坚持说)。

在 Intellij Idea 中,我可以转到项目结构并在那里添加库,但我需要使用 -mvn package 命令从命令行编译它。

所以,我需要将 myjar.jar 添加到类路径而不将其安装在 maven 存储库中,仅使用 maven。

我该怎么做?

【问题讨论】:

    标签: java maven jar compilation classpath


    【解决方案1】:
     System scope allow you that:
    
    <dependencies>
        <dependency>
          <groupId>com.package</groupId>
          <artifactId>MyJar</artifactId>
          <version>1.0.0</version>
          <scope>system</scope>
          <systemPath>./lib/MyJar.jar</systemPath>
        </dependency>
      </dependencies>
    

    https://maven.apache.org/general.html#tools-jar-dependency

    【讨论】:

    • 据我了解,jar 桅杆位于文件夹 /com/package/1.0.0/MyJar 中。不?我需要解决对包中类的依赖 - com.package.utils.Clasname。据我了解,我需要将它放在 goupid/artifactid/version 文件夹中。不?但我不能移动我的罐子。
    • 并非如此,groupID 和 artifactID 只是为了让 maven 在许多其他项目中识别您的项目。您可以将任何您想要的内容放在 groupID 中,但 artifactID 是您的 jar 名称,没有版本。最重要的是版本、范围和系统路径属性。查看此链接以获取有关 maven 命名约定的更多信息:maven.apache.org/guides/mini/guide-naming-conventions.html 你不需要移动你的 jar,只需在 groupID 中放入类似“com.mycompany.”的内容,在 artifactID 中输入你的 jar 名称,版本你想要的,但在 systemPath 中指明绝对路径
    • 我不理解您的问题,只需在您的项目 POM 中添加一次依赖项,此项目中的所有类都已完成?如果您有多个项目,请为这些项目创建一个父 POM,并将您的依赖项添加到父 POM。一切都会为您完成,这是行家的目标之一!或者,我还没有完全理解你的问题
    • 谢谢。它工作正常。真的很感激。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 2016-07-10
    • 1970-01-01
    相关资源
    最近更新 更多