【问题标题】:Build Maven project with local dependencies使用本地依赖构建 Maven 项目
【发布时间】:2017-11-29 08:56:28
【问题描述】:

我下载了旧项目,它基于 Eclipse、Ant 或其他东西,我不知道这个构建系统(我使用 Maven\Gradle)。项目源手动转换为 Maven,但项目有更多的 jar 库。它们是在 IDEA (Project Structure -> Modules -> Dependencies) 的帮助下导入到项目中的,但库仅在 .iml 文件中定义。

当我尝试在 Maven 的帮助下在 .jar 中构建项目时 - Maven 显示错误,它无法从库中找到类(但在源代码中都很好)。我在 Internet 示例中找到,例如在此代码示例中:

    <dependency>
        <groupId>example</groupId>
        <artifactId>example</artifactId>
        <version>examle</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/libs/example.jar</systemPath>
    </dependency>

但这无济于事。库也很旧,它们是由旧的构建工具创建的,不写工件 id、组 id 等,所以我不知道这些信息。


如果我不知道有关它们的信息(组、工件 ID),我如何在 pom.xml 中编写对本地 .jar 库的依赖项?


UPD_0:

当我尝试只设置库的系统路径时,我会这样做:

【问题讨论】:

  • 将这样的 jar 上传到存储库管理器中并像往常一样使用它。

标签: java eclipse maven ant


【解决方案1】:

你只需要设置正确的路径

 <systemPath>${project.basedir}/libs/example.jar</systemPath>

组、工件 ID 和版本是用户定义的信息。所以你可以随意定义它。

【讨论】:

  • 我试试这个,但它不起作用。查看更新的问题。
  • 你应该设置 groupid 和 artifactid。使用任何你想要的名字。
【解决方案2】:

尝试像这样从命令行/终端将这个 jar 安装到你的本地存储库中。然后在没有范围的命令中添加依赖包和版本的依赖作为系统

mvn install:install-file -Dfile=<path>/example.jar
-DgroupId=com.something
-DartifactId=example
-Dversion=<give some version>
-Dpackaging=jar
-DgeneratePom=true

【讨论】:

    猜你喜欢
    • 2015-05-13
    • 1970-01-01
    • 2022-11-27
    • 1970-01-01
    • 2016-11-13
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多