错误 运行 Maven 项目:不支持的协议:t3

Error running Maven project: Unsupported protocol: t3

我有一个 Maven 项目,用于通过 JMX 监控 weblogic 服务器。在 Maven POM.xml 中,由于之前的错误,我通过 scope 标记指定了 wlfullclient.jar 的依赖项。

  <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)

我查看了构建的 jar 文件中的 MANIFEST 文件,注意到它列出了类路径中的所有 jar,除了这个 wlfullclient.jar 一个(当我添加它并更新清单时,它起作用了)。

为什么会这样?以及如何修复它,使其不会在生成的 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

正如 Ivan 指出的那样,这是使用 system 作用域的预期行为。您可以了解更多 here 相关信息(Dependency Scope 部分)。 要将库 jar 包含到结果文件中,您需要使用命令 mvn install:install-file、更多详细信息 here 将其安装到本地 Maven 存储库并将其用作简单依赖项(没有系统范围和系统路径)