IDEA импортирует сторонний jar-пакет и упаковывает его в Maven.
IDEA импортирует сторонний jar-пакет и упаковывает его в Maven.

фон

По некоторым причинам проект Вам нужно представить код в демо-версии, Но в демо используется Java и не использует никаких фреймворков, а также ссылались на третьи лица jar, Поэтому при интеграции демо в свой проект (SpringBoot+Maven). Весь процесс интеграции довольно хлопотный. Итак, я записал этот шаг, На случай, если оно понадобится вам позже.


шаг

Если это проект на основе Maven, Вы можете пропустить это напрямую Пакет импортной банки IDEA часть, Просто приступайте непосредственно к последующей настройке.

  1. Создайте каталог хранения jar в проекте. Мой метод состоит в том, чтобы создать каталог lib в корневом каталоге проекта и сохранить банку.

Пакет импортной банки IDEA

В начале, Место, на которое ссылается сторонний jar-файл (часть импорта над классом), отображается красным цветом. Значит нужно настроить его по идее, Включите его для нормального запуска демоверсии Поэтому я нашел похожие решения в Интернете. шаг следующий

  1. Входить File-> Project Structure-> Libraries -> Нажмите + Число-> Выберите Java Выберите выбранный пакет jar (добавьте один за другим, если их несколько)
  1. При выборе jar укажите модуль (Модули). Указанный здесь модуль — это идентификатор артефакта в вашем собственном файле pom.
  1. После добавления, Project Structure-> Modules Ниже будет банка, которую мы добавили. Если все еще нет, нас Нажмите+ Просто вручную добавьте библиотеку Конфигурации из предыдущего шага, Главное, что следует отметить, это Нажмите+ Затем выберите добавить библиотеку Libraries , Вместо jar или каталога

После подтверждения конфигурации нажмите «ОК», и вы обнаружите, что демо-версия может работать нормально.

Упаковка сторонних jar-пакетов в Maven

Хотя он может работать, я столкнулся с проблемой во время упаковки Maven. Хотя в идее он был добавлен в модуль, на сторонний jar-пакет нельзя ссылаться при упаковке, как показано на рисунке ниже. Это означает, что в Maven указанный сторонний jar не введен, поэтому нам необходимо выполнить вторичную настройку.

В pom-файле добавьте ссылку на сторонний jar-файл.

Язык кода:javascript
копировать
   <dependency>
      <groupId>com.time.pause</groupId>
      <artifactId>okhttp</artifactId>
      <!--область зависимости-->
      <scope>system</scope>
      <version>3.12.0</version>
      <!--расположение зависимости-->
      <systemPath>${project.basedir}/lib/okhttp-3.12.0.jar</systemPath>
  </dependency>

Следует отметить следующее: groupId,artifactId Он не обязательно должен быть точно таким же, как в упаковке, Нам просто нужно его настроить. Мы добавим версию в соответствии с реальной ситуацией.

Включите координаты Maven добавленного стороннего jar-файла в подключаемый модуль упаковки.

Язык кода:javascript
копировать
      <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <!--позволятьmavenСторонние пакеты могут быть включены во время компиляции.-->
          <configuration>
              <includeSystemScope>true</includeSystemScope>
          </configuration>
      </plugin>

Следует отметить, чтоЕсли шаг2Конфигурация отсутствует, Хотя при упаковке не будет сообщено об ошибке, Но используя java -jar При локальном запуске jar пакет по-прежнему не удается найти., Потому что на самом деле сторонний jar не входит в комплект поставки плагина.

Справочный блог https://blog.csdn.net/qq_43599841/article/details/127368168 https://blog.csdn.net/weixin_43888891/article/details/130611728

boy illustration
Глубокое погружение в библиотеку Python Lassie: мощный инструмент для автоматизации извлечения метаданных
boy illustration
Объяснение прослушивателя серии Activiti7 последней версии 2023 года
boy illustration
API-интерфейс Jitu Express для электронных счетов-Express Bird [просто для понимания]
boy illustration
Каковы архитектуры микросервисов Java. Серверная часть плавающей области обслуживания
boy illustration
Описание трех режимов жизненного цикла службы внедрения зависимостей Asp.net Core.
boy illustration
Java реализует пользовательские аннотации для доступа к интерфейсу без проверки токена.
boy illustration
Серверная часть Unity добавляет поддержку .net 8. Я еще думал об этом два дня назад, и это сбылось.
boy illustration
Проект с открытым исходным кодом | Самый элегантный метод подписки на публичные аккаунты WeChat на данный момент
boy illustration
Разрешения роли пользователя Gitlab Гость, Репортер, Разработчик, Мастер, Владелец
boy illustration
Spring Security 6.x подробно объясняет механизм управления аутентификацией сеанса в этой статье.
boy illustration
[Основные знания ASP.NET] — Аутентификация и авторизация — Использование удостоверений для аутентификации.
boy illustration
Соединение JDBC с базой данных MySQL в jsp [легко понять]
boy illustration
[Уровень няни] Полный процесс развертывания проекта Python (веб-страницы Flask) в Docker.
boy illustration
6 способов чтения файлов свойств, рекомендуем собрать!
boy illustration
Графическое объяснение этапа строительства проекта IDEA 2021 Spring Cloud (базовая версия)
boy illustration
Подробное объяснение технологии междоменного запроса данных JSONP.
boy illustration
Учебное пособие по SpringBoot (14) | SpringBoot интегрирует Redis (наиболее полный во всей сети)
boy illustration
Подробное объяснение механизма подтверждения выпуска сообщений RabbitMQ.
boy illustration
На этот раз полностью поймите протокол ZooKeeper.
boy illustration
Реализуйте загрузку файлов с использованием минимального WEB API.
boy illustration
Демо1 Laravel5.2 — генерация и хранение URL-адресов
boy illustration
Spring boot интегрирует Kafka и реализует отправку и потребление информации (действительно при личном тестировании)
boy illustration
Мысли о решениях по внутренней реализации сортировки методом перетаскивания
boy illustration
Междоменный доступ к конфигурации nginx не может вступить в силу. Междоменный доступ к странице_Page
boy illustration
Как написать текстовый контент на php
boy illustration
PHP добавляет текстовый водяной знак или водяной знак изображения к изображениям – метод инкапсуляции
boy illustration
Интерпретация быстрой таблицы (TLB)
boy illustration
Интерфейс WeChat API (полный) — оплата WeChat/красный конверт WeChat/купон WeChat/магазин WeChat/JSAPI
boy illustration
Преобразование Java-объекта в json string_complex json-строки в объект
boy illustration
Примените сегментацию слов jieba (версия Java) и предоставьте пакет jar