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

时间:2018-06-28 19:14:28

标签: java maven jar weblogic pom.xml

我有一个Maven项目,用于通过JMX监视Weblogic服务器。在行家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)

我查看了构建的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

1 个答案:

答案 0 :(得分:1)

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