Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

slf4gwt 1.4 doesn't work with GWT 2.10.0 #5

Open
montss opened this issue Sep 25, 2022 · 2 comments
Open

slf4gwt 1.4 doesn't work with GWT 2.10.0 #5

montss opened this issue Sep 25, 2022 · 2 comments
Assignees

Comments

@montss
Copy link

montss commented Sep 25, 2022

[INFO] GCLOUD: Caused by: 
[INFO] GCLOUD: java.lang.ClassNotFoundException: com.google.gwt.core.client.GWTBridge
[INFO] GCLOUD: 	at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
[INFO] GCLOUD: 	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
[INFO] GCLOUD: 	at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:222)
[INFO] GCLOUD: 	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
[INFO] GCLOUD: 	at org.slf4gwt.logging.impl.Impl.<clinit>(Impl.java:30)

The GWTBridge has been moved to com.google.gwt.core.shared.GWTBridge

@nbartels nbartels self-assigned this Sep 30, 2022
@nbartels
Copy link
Contributor

In the "Impl" class the method create of the GWT class is used and this redirects with a step in between to the GWTBridge of the shared package. Are you sure your dependencies are correct?
I'm using slf4gwt with 2.10 since it came out without seeing this issue.

@montss
Copy link
Author

montss commented Oct 2, 2022

The dependencies I have are, or at least those which matter

	<properties>
		<maven.compiler.release>11</maven.compiler.release>
		<appengine.version>2.0.8</appengine.version>
		<jetty.version>9.4.48.v20220622</jetty.version>
	</properties>

	<dependencyManagement>
		<dependencies>

			<dependency>
				<groupId>com.google.cloud</groupId>
				<artifactId>libraries-bom</artifactId>
				<version>26.1.2</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>org.gwtproject</groupId>
				<artifactId>gwt</artifactId>
				<version>2.10.0</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

		</dependencies>
	</dependencyManagement>
	
	<dependencies>

		<dependency>
			<groupId>org.slf4gwt</groupId>
			<artifactId>slf4gwt</artifactId>
			<version>1.4</version>
		</dependency>
		
		<!-- GWT -->
		<dependency>
			<groupId>org.gwtproject</groupId>
			<artifactId>gwt-user</artifactId>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>org.gwtproject</groupId>
			<artifactId>gwt-servlet</artifactId>
			<scope>runtime</scope>
		</dependency>

		<!-- GAE -->
		<dependency>
			<groupId>com.google.appengine</groupId>
			<artifactId>appengine-api-1.0-sdk</artifactId>
			<version>${appengine.version}</version>
		</dependency>
		
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
			<scope>provided</scope>
		</dependency>
		
		<dependency>
			<groupId>com.google.cloud</groupId>
			<artifactId>google-cloud-logging-logback</artifactId>
		</dependency>
		
		</dependencies>
		
		<plugins>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>gwt-maven-plugin</artifactId>
				<version>2.10.0</version>
				<executions>
					<execution>
						<goals>
							<goal>compile</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<sourceLevel>${maven.compiler.source}</sourceLevel>
					<style>OBF</style>
				</configuration>
			</plugin>
			
			<plugin>
				<groupId>com.google.cloud.tools</groupId>
				<artifactId>appengine-maven-plugin</artifactId>
				<version>2.4.4</version>
				<configuration>
					<cloudSdkVersion>402.0.0</cloudSdkVersion>
					<port>8888</port>
				</configuration>
			</plugin>
			
			<plugin>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-maven-plugin</artifactId>
				<version>${jetty.version}</version>
			</plugin>
		</plugins>

So the server is using the org.slf4j.LoggerFactory class inside slf4gwt not the one in slf4j-api is this expected ?
Does gwt in org.gwtproject makes any difference compared to com.google gwt ?

Running the app using appengine or jetty gives the same result
Full stack trace below

 java.lang.NoClassDefFoundError: com/google/gwt/core/client/GWTBridge
 	at org.slf4gwt.logging.impl.Impl.<clinit>(Impl.java:30)
 	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:58)
 	at org.app.util.server.TLogger.<init>(TLogger.java:73)
 	at org.app.init.server.InitServer.<clinit>(InitServer.java:81)
 	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
 	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
 	at org.eclipse.jetty.server.handler.ContextHandler$StaticContext.createInstance(ContextHandler.java:2902)
 	at org.eclipse.jetty.servlet.ServletContextHandler$Context.createInstance(ServletContextHandler.java:1299)
 	at org.eclipse.jetty.server.handler.ContextHandler$StaticContext.createListener(ContextHandler.java:2913)
 	at org.eclipse.jetty.servlet.ListenerHolder.doStart(ListenerHolder.java:94)
 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
 	at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:369)
 	at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1449)
 	at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1414)
 	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:916)
 	at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288)
 	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
 	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
 	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
 	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
 	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
 	at org.eclipse.jetty.server.Server.start(Server.java:423)
 	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
 	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
 	at org.eclipse.jetty.server.Server.doStart(Server.java:387)
 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
 	at com.google.appengine.tools.development.jetty9.JettyContainerService.startContainer(JettyContainerService.java:366)
 	at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:293)
 	at com.google.appengine.tools.development.AutomaticInstanceHolder.startUp(AutomaticInstanceHolder.java:42)
 	at com.google.appengine.tools.development.AbstractModule.startup(AbstractModule.java:102)
 	at com.google.appengine.tools.development.Modules.startup(Modules.java:118)
 	at com.google.appengine.tools.development.DevAppServerImpl.doStart(DevAppServerImpl.java:284)
 	at com.google.appengine.tools.development.DevAppServerImpl.access$000(DevAppServerImpl.java:57)
 	at com.google.appengine.tools.development.DevAppServerImpl$1.run(DevAppServerImpl.java:233)
 	at com.google.appengine.tools.development.DevAppServerImpl$1.run(DevAppServerImpl.java:231)
 	at java.base/java.security.AccessController.doPrivileged(Native Method)
 	at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:231)
 	at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:405)
 	at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:58)
 	at com.google.appengine.tools.development.DevAppServerMain.run(DevAppServerMain.java:258)
 	at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:249)
 Caused by: 
 java.lang.ClassNotFoundException: com.google.gwt.core.client.GWTBridge
 	at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)
 	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
 	at com.google.appengine.tools.development.IsolatedAppClassLoader.loadClass(IsolatedAppClassLoader.java:222)
 	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
 	at org.slf4gwt.logging.impl.Impl.<clinit>(Impl.java:30)
 	at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:58)
 	at org.app.util.server.TLogger.<init>(TLogger.java:73)
 	at org.app.init.server.InitServer.<clinit>(InitServer.java:81)
 	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
 	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
 	at org.eclipse.jetty.server.handler.ContextHandler$StaticContext.createInstance(ContextHandler.java:2902)
 	at org.eclipse.jetty.servlet.ServletContextHandler$Context.createInstance(ServletContextHandler.java:1299)
 	at org.eclipse.jetty.server.handler.ContextHandler$StaticContext.createListener(ContextHandler.java:2913)
 	at org.eclipse.jetty.servlet.ListenerHolder.doStart(ListenerHolder.java:94)
 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
 	at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:369)
 	at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1449)
 	at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1414)
 	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:916)
 	at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288)
 	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
 	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
 	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
 	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
 	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
 	at org.eclipse.jetty.server.Server.start(Server.java:423)
 	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
 	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
 	at org.eclipse.jetty.server.Server.doStart(Server.java:387)
 	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
 	at com.google.appengine.tools.development.jetty9.JettyContainerService.startContainer(JettyContainerService.java:366)
 	at com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:293)
 	at com.google.appengine.tools.development.AutomaticInstanceHolder.startUp(AutomaticInstanceHolder.java:42)
 	at com.google.appengine.tools.development.AbstractModule.startup(AbstractModule.java:102)
 	at com.google.appengine.tools.development.Modules.startup(Modules.java:118)
 	at com.google.appengine.tools.development.DevAppServerImpl.doStart(DevAppServerImpl.java:284)
 	at com.google.appengine.tools.development.DevAppServerImpl.access$000(DevAppServerImpl.java:57)
 	at com.google.appengine.tools.development.DevAppServerImpl$1.run(DevAppServerImpl.java:233)
 	at com.google.appengine.tools.development.DevAppServerImpl$1.run(DevAppServerImpl.java:231)
 	at java.base/java.security.AccessController.doPrivileged(Native Method)
 	at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:231)
 	at com.google.appengine.tools.development.DevAppServerMain$StartAction.apply(DevAppServerMain.java:405)
 	at com.google.appengine.tools.util.Parser$ParseResult.applyArgs(Parser.java:58)
 	at com.google.appengine.tools.development.DevAppServerMain.run(DevAppServerMain.java:258)
 	at com.google.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:249)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants