obs-websocket-community-projects/obs-websocket-java

org.eclipse.jetty.util.log.* has been removed from Jetty

Opened this issue · 0 comments

Describe the bug

The logging facility in Jetty was never mean to be used directly but somehow it was used in io.obswebsocket.community.client.OBSRemoteControllerBuilder. Since the Jetty team removed this entire package, applications using the newer versions of these libraries conflict and obs-websocket-java fails to start.

Please see here; jetty/jetty.project#4572

Code Sample

obsRemoteController = OBSRemoteController.builder().host(host) // Default host
		.port(port) // Default port
		.password(pword) // Provide your password here
		.connectionTimeout(timeout) // Seconds the client will wait for OBS to respond
		.lifecycle()                              // Add some lifecycle callbacks
        .onReady(this::onReady)                   // Add onReady callback
        .and()                                    // Build the LifecycleListenerBuilder
        .registerEventListener(StudioModeStateChangedEvent.class,
            this::onStudioModeStateChanged)       // Register a StudioModeStateChangedEvent
        .build();   

Expected behavior

The OBS Client starts.

Additional context

Caused by: java.lang.NoClassDefFoundError: org/eclipse/jetty/util/log/Log
at org.eclipse.jetty.websocket.client.WebSocketClient.(WebSocketClient.java:70) ~[websocket-client-9.4.49.v20220914.jar:9.4.49.v20220914]
at io.obswebsocket.community.client.OBSRemoteControllerBuilder.(OBSRemoteControllerBuilder.java:26) ~[client-2.0.0.jar:na]
at io.obswebsocket.community.client.OBSRemoteController.builder(OBSRemoteController.java:80) ~[client-2.0.0.jar:na]