Java 我在我的JEE套接字项目SLF4J中遇到错误:未能加载类;org.slf4j.impl.StaticLoggerBinder”的;

Java 我在我的JEE套接字项目SLF4J中遇到错误:未能加载类;org.slf4j.impl.StaticLoggerBinder”的;,java,maven,sockets,Java,Maven,Sockets,当我尝试运行服务器代码时 服务器代码 package Socket; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.charset.Charset; import org.apache.mina.core.service.IoAcceptor; import org.apache.mina.core.session.IdleStatus; import org.apache.mina.

当我尝试运行服务器代码时

服务器代码

package Socket;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.charset.Charset;
import org.apache.mina.core.service.IoAcceptor;
import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.filter.codec.ProtocolCodecFilter;
import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
import org.apache.mina.filter.logging.LoggingFilter;
import org.apache.mina.transport.socket.nio.NioSocketAcceptor;

public class MinaTimeServer
{

    private static final int PORT = 1865;

    public static void main( String[] args ) throws IOException
    {
        IoAcceptor acceptor = new NioSocketAcceptor();
        acceptor.getFilterChain().addLast( "logger", new LoggingFilter() );
        acceptor.getFilterChain().addLast( "codec", new ProtocolCodecFilter( new TextLineCodecFactory( Charset.forName( "UTF-8" ))));
        acceptor.setHandler( new TimeServerHandler() );
        acceptor.getSessionConfig().setReadBufferSize( 2048 );
        acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE, 10 );
        acceptor.bind( new InetSocketAddress(PORT) );
    }
}

**Server Handler Code**

package Socket;

import java.util.Date;

import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.core.service.IoHandlerAdapter;
import org.apache.mina.core.session.IoSession;

public class TimeServerHandler extends IoHandlerAdapter   
{

@Override
public void exceptionCaught( IoSession session, Throwable cause ) throws Exception
{
    cause.printStackTrace();
}
@Override
public void messageReceived( IoSession session, Object message ) throws Exception
{
    String str = message.toString();
    System.out.println(str);
    if( str.trim().equalsIgnoreCase("quit") ) {
        session.close();
        return;
    }
    Date date = new Date();
    session.write( "Thank you client"+date.toString() );
    System.out.println("Message written...");
}
@Override
public void sessionIdle( IoSession session, IdleStatus status ) throws Exception
{
    System.out.println( "IDLE " + session.getIdleCount( status ));
}
}
我的Maven pom xml文件存在

<dependency>
<groupId>org.apache.mina</groupId>
<artifactId>mina-core</artifactId>
<version>2.0.4</version>
</dependency>
 <dependency>
    <groupId> org.apache.cassandra</groupId>
    <artifactId>cassandra-all</artifactId>
    <version>0.8.1</version>

<exclusions>
  <exclusion> 
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
  </exclusion>
  <exclusion> 
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
  </exclusion>
</exclusions> 

org.apache.mina
米纳岩芯
2.0.4
org.apache.cassandra
卡桑德拉
0.8.1
org.slf4j
slf4j-log4j12
log4j
log4j

但服务器仍处于运行状态,当客户端与服务器连接时,服务器重复打印IDLE 1、IDLE 2、IDLE 3、IDLE 4。。。。 而不是打印消息

您的代码将输出:

SLF4J:未能加载类“org.SLF4J.impl.StaticLoggerBinder”。 SLF4J:默认为无操作(NOP)记录器实现 SLF4J:有关更多详细信息,请参阅

也就是说,
org.slf4j.impl.StaticLoggerBinder
类无法加载到内存中。当在类路径上找不到合适的SLF4J绑定时,就会发生这种情况
----参考来自

因此,另一种解决方案是在pom.xml中添加此依赖项:

 <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.22</version>
</dependency>

org.slf4j
slf4j简单
1.7.22

您错过了类路径中的slf4j.jar,我已经对它有了依赖关系。你能告诉我这个问题的确切依赖关系是什么吗?解决了我的问题