Почему какой-то jar-файл не собирается? - PullRequest
0 голосов
/ 13 октября 2019
<dependency>
    <groupId>oracle</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0.3</version>
</dependency>

Эта зависимость не может быть загружена. Что я делаю?

Ответы [ 3 ]

2 голосов
/ 13 октября 2019

Этот вопрос уже был рассмотрен по другому вопросу , но есть новая информация.

Репозиторий Oracle Maven

Начиная с 2016 года Oracle начала публиковать свои драйверы в безопасном режиме. Репозиторий Oracle Maven, и они публикуют инструкции по использованию репозитория на их сайте . Процесс выглядит следующим образом:

  1. При необходимости зарегистрируйте для сайта.
  2. При необходимости создайте мастер-пароль Maven для шифрования.
    mvn -emp [YOUR MASTER PASSWORD]
    
  3. Добавьте сервер Oracle в свой Maven settings.xml (~ / .m2 / settings.xml).
    <servers>
      <server>
        <id>maven.oracle.com </id>
        <username>YOUR ORACLE USERNAME</username>
        <password>YOUR ORACLE PASSWORD</password>
      <configuration>
        <basicAuthScope>
          <host>ANY </host>
          <port>ANY </port>
          <realm>OAM 11g </realm>
        </basicAuthScope>
        <httpConfiguration>
          <all>
          <params>
            <property>
              <name>http.protocol.allow-circular-redirects </name>
              <value>%b,true </value>
            </property>
          </params>
          </all>
        </httpConfiguration>
      </configuration>
      </server>
    </servers>
    
  4. Зашифруйте пароль Oracle с помощью Maven:
    mvn -ep [YOUR ORACLE PASSWORD]
    
  5. Добавьте репозитории в POM Maven или settings.xml:
    <repositories>
      <repository>
        <id>maven.oracle.com</id>
        <name>oracle-maven-repo</name>
        <url>https://maven.oracle.com</url>
        <layout>default</layout>
        <releases>
          <enabled>true</enabled>
          <updatePolicy>always</updatePolicy>
        </releases>
      </repository>
    </repositories>
    <pluginRepositories>
      <pluginRepository>
        <id>maven.oracle.com</id>
        <name>oracle-maven-repo</name> 
        <url>https://maven.oracle.com</url>
        <layout>default</layout>
        <releases>
          <enabled>true</enabled>
          <updatePolicy>always</updatePolicy>
        </releases>
      </pluginRepository>
    </pluginRepositories>
    

После того, как высделать это, Maven сможет разрешить зависимости.

Maven Central

С сентября 2019 года Oracle начала отправлять свои jar-файлы в Maven Central . Если вы можете использовать эти версии, то вы можете просто обновить свою зависимость:

<dependency>
  <groupId>com.oracle.ojdbc</groupId>
  <artifactId>ojdbc8</artifactId>
  <version>19.3.0.0</version>
</dependency>
0 голосов
/ 17 октября 2019

Да, драйверы Oracle JDBC будут доступны на центральном maven. В настоящее время доступна версия 19.3, и скоро появятся другие версии. Обратитесь к этому блогу для получения дополнительной информации. Кроме того, проверьте Maven репо , чтобы просмотреть доступные банки.

0 голосов
/ 14 октября 2019

Драйверы Oracle не могут быть установлены с помощью maven, как указано автором этого сообщения в блоге :

Из-за лицензионных ограничений Oracle драйвер JDBC Oracle не являетсядоступно в публичном репозитории Maven. Чтобы использовать драйвер Oracle JDBC с Maven, вы должны загрузить и установить его в свой локальный репозиторий Maven вручную.

Вам необходимо вручную загрузить нужные драйверы, а затем выбрать один из двух возможных путей, а именно:

  1. Установить драйвер в локальный репозиторий maven
  2. Определите вашу зависимость, указав путь к файлу JAR

Вот несколько примеров обоих случаев:

Локальное хранилище maven

  • Загрузка ираспакуйте jar драйвера в вашей файловой системе,
  • Затем выполните следующую команду
mvn install:install-file -Dfile=path/to/your/ojdbc6.jar -DgroupId=com.oracle 
    -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar
  • Наконец, настройте вашу зависимость, пожалуйста, обратите внимание, что я использовал другой идентификатор группы
<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0.3</version>
</dependency>

Указание местоположения файла jar

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

<dependency>
  <groupId>com.oracle</groupId>
  <artifactId>ojdbc6</artifactId>
  <version>6</version>
  <scope>system</scope>
  <systemPath>${project.basedir}/lib/ojdbc6.jar</systemPath>
</dependency>

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

С уважением

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