Добавить локальный внешний jar - не должен указывать на файлы в каталоге проекта - PullRequest
1 голос
/ 15 марта 2019

В моем проекте maven я использую пользовательский внешний my-custom-external jar, например:

pom.xml

<dependencies>
    <dependency>
        <groupId>com.myproject</groupId>
        <artifactId>my-custom-external</artifactId>
        <version>1.0-SNAPSHOT</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/libs/my-custom-external-1.0-SNAPSHOT.jar</systemPath>
    </dependency>
    <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-stdlib-jdk8</artifactId>
        <version>${kotlin.version}</version>
    </dependency>

Я успешно строю свой проект mvn verify, но в консоли у меня есть предупреждение:

[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for com.myproject:prj_1:jar:1.0-SNAPSHOT
[WARNING] 'dependencies.dependency.systemPath' for com.myproject:my-custom-extneral:jar should not point at files within the project directory, ${project.basedir}/libs/my-custom-extneral-1.0-SNAPSHOT.jar will be unresolvable by dependent projects @ line 62, column 25
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING] 

1 Ответ

3 голосов
/ 15 марта 2019

Это просто предупреждение, и вы можете сделать это, если оно используется только в этом проекте, поскольку оно не будет отображаться для зависимых проектов.

Ниже вы можете рассмотреть два варианта:сделав все правильно

  1. Установите сторонний jar-файл в свой локальный репозиторий и сделайте ссылку на него, как на любую другую зависимость.Обратитесь к этой ссылке для получения более подробной информации об установке библиотеки
  2. Если вы хотите сослаться на нее из своего проекта, добавьте папку libs вашего проекта в качестве хранилища, как показано ниже

    <repositories>
        <repository>
            <id>localrepository</id>
            <url>file://${project.basedir}/libs</url>
        </repository>
        .
        .
        .
        .
    </repositories>
    

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...