Добавление стороннего JAR в Spring Boot War Build, предназначенного для удаленного Сервера - PullRequest
0 голосов
/ 28 января 2020

Я конвертирую локальное загрузочное Jar-приложение Spring в сборку War, используя внешний сервер TomCat.

Приложение Spring Boot работает с использованием 2-х сторонних jar-файлов, размещенных в папке libs.

Я столкнулся с проблемой, пытаясь включить эти 2 баночки в финальную войну.

Добавил эти баночки в настройки ClassPath intelliJ Artifact, но не повезло. Попытался поместить их вручную в папку WEB-INF / lib, но безуспешно.

Попробовал вышеуказанный метод.

        <dependency>
        <groupId>myJarGroup</groupId>
        <artifactId>myJarArtifact</artifactId>
        <version>>1.7.0.1</version>
        <scope>compile</scope>
        <systemPath>${project.basedir}/src/main/resources/xxx/myjar.jar</systemPath>
    </dependency>

Опять не повезло. В WEB-INF / lib все еще отсутствуют мои 2 банки.

Only a type can be imported. ec.ec.ada.ec.common.ec.code.testValidate resolves to a package

    testValidate cannot be resolved
Error importing : 'ec.ec.ada.ec.common.ec.code.testValidate'

Как мне поступить?

Best Reagrds

Ответы [ 2 ]

0 голосов
/ 28 января 2020

Здесь вы go!

Хотя редко, но иногда у вас будут сторонние JAR-файлы, которые вам нужно будет поместить в локальный репозиторий для использования в ваших сборках, так как они не существуют в любом хранилище c, например, Maven Central. JAR-файлы должны быть размещены в локальном хранилище в правильном месте, чтобы Apache Maven мог правильно их подобрать. Чтобы сделать это проще и меньше подвержено ошибкам, мы поставили цель в maven-install-plugin, которая должна сделать это относительно безболезненно. Чтобы установить JAR в локальный репозиторий, используйте следующую команду:

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

С версией 2.5 maven-install-plugin это становится еще лучше. Если JAR был создан Apache Maven, он будет содержать pom. xml в подпапке каталога META-INF, которая будет читаться по умолчанию. В этом случае все, что вам нужно сделать, это:

mvn install:install-file -Dfile=<path-to-file>

Из Руководства Maven по установке сторонних JAR-файлов .

0 голосов
/ 28 января 2020

Вы должны будете включить эти две банки в качестве зависимости в pom. Я знаю, что это зависимость от третьей стороны, но вы можете добавить ее, как показано ниже:

mvn deploy:deploy-file -Durl=file:///path/to/yourproject/repo/ -Dfile=mylib-1.0.jar -DgroupId=com.example -DartifactId=mylib -Dpackaging=jar -Dversion=1.0

Таким образом, они будут сохранены в репозитории maven, и плагин maven war будет включать в войну то же самое, что и для развертывания.

...