Ошибка при запуске проекта Maven: неподдерживаемый протокол: t3 - PullRequest
0 голосов
/ 28 июня 2018

У меня есть проект Maven для мониторинга серверов weblogic через JMX. В maven POM.xml я указываю зависимость для тега от wlfullclient.jar до scope из-за предыдущих ошибок.

  <dependency>
    <groupId>weblogic</groupId>
    <artifactId>wlfullclient</artifactId>
        <scope>system</scope>
    <systemPath>${basedir}/libs/wlfullclient-11.1.1.4.0.jar</systemPath>
    <version>11.1.1.4.0</version>
  </dependency>

Он успешно собирается, однако при запуске файла jar я получаю эту ошибку:

java.net.MalformedURLException: Unsupported protocol: t3
at javax.management.remote.JMXConnectorFactory.newJMXConnector(Unknown Source)
at javax.management.remote.JMXConnectorFactory.connect(Unknown Source)

Я посмотрел файл MANIFEST в встроенном файле jar и заметил, что в нем перечислены все файлы jar в пути к классам, кроме этого wlfullclient.jar (и когда я добавляю его и обновляю манифест, он работает).

Почему это происходит? И как это исправить, чтобы он не пропустил этот classpath в сгенерированном jar-файле?

ОБНОВЛЕНИЯ: это все мои зависимости в POM.xml:

  <dependency>
    <groupId>weblogic</groupId>
    <artifactId>wlfullclient</artifactId>
        <scope>system</scope>
    <systemPath>${basedir}/libs/wlfullclient-11.1.1.4.0.jar</systemPath>
    <version>11.1.1.4.0</version>
  </dependency>

  <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.24</version>
  </dependency>
  <dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.1</version>
  </dependency>
  <dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-core</artifactId>
    <version>1.2.1</version>
  </dependency>
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.8</version>
  </dependency> 
    </dependencies>

А вот MANIFEST.MF в банке:

Manifest-Version: 1.0
Built-By: myname
Build-Jdk: 1.7.0_80
Class-Path: libs/slf4j-api-1.7.24.jar libs/logback-classic-1.2.1.jar l
 ibs/logback-core-1.2.1.jar libs/mysql-connector-java-5.1.8.jar
Created-By: Apache Maven 3.3.3
Main-Class: main.WLStatusData
Archiver-Version: Plexus Archiver

1 Ответ

0 голосов
/ 28 июня 2018

Как указал Иван, это ожидаемое поведение при использовании system scope. Подробнее об этом можно узнать здесь (раздел Область зависимостей ). Чтобы включить библиотечный jar в файл результатов, вам необходимо установить его в локальный репозиторий maven с помощью команды mvn install:install-file, более подробную информацию здесь и использовать как простую зависимость (без области системы и системного пути).

...