当前位置: 首页 > 知识库问答 >
问题:

在maven dependency中添加pubnub后,Spring boot应用程序不会启动

宋博易
2023-03-14

在maven中添加pubnub后,我的Spring boot应用程序不会启动。

这是我的pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <version>0.0.1-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.0.RELEASE</version>
        <relativePath />
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>1.4.0.RELEASE</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>log4j-over-slf4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.pubnub/pubnub -->
        <dependency>
            <groupId>com.pubnub</groupId>
            <artifactId>pubnub</artifactId>
            <version>4.0.14</version>
        </dependency>
    </dependencies>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <start-class>com.XXX.Application</start-class>
        <java.version>1.8</java.version>
    </properties>

    <groupId>smartSense</groupId>
    <artifactId>XXX</artifactId>
    <name>XXX</name>
    <description>smartSense Construction ERP</description>
</project>

我在运行spring boot jar时遇到了这个异常

例外:

    Exception in thread "main" java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
    at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
    at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
    at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:58)
Caused by: java.lang.IllegalArgumentException: LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either remove Logback or the competing implementation (class org.slf4j.helpers.NOPLoggerFactory loaded from jar:file:/home/nitin/projects/bitbucket/cerp/target/cerp-0.0.1-SNAPSHOT.jar!/BOOT-INF/lib/slf4j-api-1.7.21.jar!/). If you are using WebLogic you will need to add 'org.slf4j' to prefer-application-packages in WEB-INF/weblogic.xml Object of class [org.slf4j.helpers.NOPLoggerFactory] must be an instance of class ch.qos.logback.classic.LoggerContext
    at org.springframework.util.Assert.isInstanceOf(Assert.java:346)
    at org.springframework.boot.logging.logback.LogbackLoggingSystem.getLoggerContext(LogbackLoggingSystem.java:221)
    at org.springframework.boot.logging.logback.LogbackLoggingSystem.getLogger(LogbackLoggingSystem.java:213)
    at org.springframework.boot.logging.logback.LogbackLoggingSystem.beforeInitialize(LogbackLoggingSystem.java:98)
    at org.springframework.boot.logging.LoggingApplicationListener.onApplicationStartedEvent(LoggingApplicationListener.java:222)
    at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:204)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:166)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:138)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:121)
    at org.springframework.boot.context.event.EventPublishingRunListener.started(EventPublishingRunListener.java:62)
    at org.springframework.boot.SpringApplicationRunListeners.started(SpringApplicationRunListeners.java:48)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1185)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1174)
    at com.cerp.Application.main(Application.java:89)
    ... 8 more

我为实时网络应用程序构建微服务,我想使用pubnub向网络浏览器发送通知。如果我删除pubnub然后它工作正常。你能帮忙解决这个问题吗?

共有1个答案

诸嘉澍
2023-03-14

pubnub似乎有一个传递依赖:

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-nop</artifactId>
  <version>1.7.21</version>
  <scope>compile</scope>
</dependency>

如果在pubnub依赖项中添加排除项(请参见此处),它可能已经起作用了。但这可能会破坏pubnub的登录:/-但我会尝试一下。

 类似资料:
  • 我正试图将运行在tomcat上的现有应用程序更改为SpringBoot。它一直运行到真正的SpringBoot启动。我有一个类似的应用程序运行在SpringBoot上。这就是我知道它一直运行到Springboot的原因。 我的主要方法: 我尝试使用@componentscan运行main方法,该方法具有如下所示的basePackages: 这无济于事。我尝试在main类的顶部添加@SpringBo

  • 我使用XML配置将spring-integration通道连接到服务激活器。我已将一个sftp入站通道适配器附加到同一通道。这很管用。 我希望允许客户机通过web界面向通道添加/删除SFTP入站通道适配器,但是实例化spring-integration组件似乎与XML Spring上下文紧密耦合(请参见org.springframework.integration.SFTP.config.sftP

  • 我正在尝试构建一个新创建的Xamarin。Android平台的表单应用程序。关于@drawable文件的丢失,我遇到了各种各样的错误(目前有73个)。 如果我从Resources/drawable文件夹中删除特定的PNG文件,错误就会消失。这是我用来作为页面背景的图像。目前它只有515KB,大小为500x750。该资源有一个AndroidResource的构建操作,就像我包含的另一个PNG文件一样

  • 我已经将 firebase-core 添加到我的项目中进行分析,但从那时起我的应用程序就没有响应了。 这是我正在使用的gms的类路径: 这是我用于Firebase的依赖项: 此外,我还添加了到我的构建gradle文件的底部。 在我的应用程序类中,我只是初始化FirebaseAnalytics: 这是我从日志中得到的错误: 错误指向我的应用程序类的第84行,即Firebase Analytics初始

  • 问题内容: 我想使用文件浏览器创建文本编辑器,所以当我启动应用程序时,我想在程序中在JTree上添加节点,以便它向我显示所有文件和文件夹,例如在“我的文档”文件夹中,并允许我访问这些文件和文件夹(尤其是文件夹)。我试图从这个例子中弄清楚安德鲁·汤普森是如何做到的, 但是我失败了。我使用此示例为“我的文档”中的所有文件和文件夹创建了节点 。但这就是全部,当单击表示文件夹的节点之一时,我无法弄清楚如何

  • 好的,我决定在框架grails中试试。按照手册安装了。创建一个测试项目: 运行测试项目: 没关系。 今天,Ubuntu提供了安装更新,更新包java-8-oracle-Inster。执行此更新命令后 结果: 我很感激你的帮助。