Startup errors on boot with subscriber information errors

Since I installed some maven dependencies on the "provided" and not on the "compilation", I got this error when starting the berth:

  • JEE5 app
  • should work on WebSphere 7 and Jetty 7
  • Spring 3

Error:

java.lang.SecurityException: class "javax.servlet.ServletRequestListener" signer information does not match signer information of other classes in the same package at java.lang.ClassLoader.checkCerts(ClassLoader.java:806) at java.lang.ClassLoader.preDefineClass(ClassLoader.java:487) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:625) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:386) at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244) at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230) at org.eclipse.jetty.server.handler.ContextHandler.setEventListeners(ContextHandler.java:554) at org.eclipse.jetty.webapp.WebAppContext.setEventListeners(WebAppContext.java:946) at org.eclipse.jetty.webapp.WebAppContext.addEventListener(WebAppContext.java:972) at org.eclipse.jetty.webapp.TagLibConfiguration.preConfigure(TagLibConfiguration.java:492) at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:418) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:454) at org.mortbay.jetty.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:256) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224) at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:167) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:90) at org.eclipse.jetty.server.Server.doStart(Server.java:260) at org.mortbay.jetty.plugin.JettyServer.doStart(JettyServer.java:65) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:511) at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:364) at org.mortbay.jetty.plugin.JettyRunMojo.execute(JettyRunMojo.java:516) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 

Maven section:

 <?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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <packaging>war</packaging> <artifactId>myApp.war</artifactId> <!--name??--> <parent> <groupId>com.example</groupId> <artifactId>myApp</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <properties> <java-version>1.5</java-version> <org.springframework-version>3.0.5.RELEASE</org.springframework-version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <org.aspectj-version>1.6.9</org.aspectj-version> <org.slf4j-version>1.6.1</org.slf4j-version> <cxf.version>2.5.2</cxf.version> <jetty.version>7.6.3.v20120416</jetty.version> <skipTests>true</skipTests> <log4j.version>1.2.15</log4j.version> </properties> <!-- … --> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>${jetty.version}</version> <dependencies> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1</version> <type>jar</type> </dependency> </dependencies> <configuration> <scanIntervalSeconds>5</scanIntervalSeconds> <webAppConfig> <contextPath>/</contextPath> </webAppConfig> <connectors> <connector implementation="org.eclipse.jetty.server.bio.SocketConnector"> <port>8080</port> <!-- this connector defaults to 1300 for some reason --> </connector> </connectors> <!-- <useProvided>true</useProvided> --> </configuration> </plugin> 

I can not get the reason. Any hints are welcome;)

+4
source share
3 answers

It looks like you include the servlet API as a provided dependency and add this to the Jetty class path. This interferes with Jetty's own servlet API sets and throws an exception.

It is absolutely correct to include the servlet API as the provided dependency - the problem is the <useProvided> parameter in the plugin configuration, which adds the servlet API to the class path. It would be better to exclude this, and if you have any other dependencies with the provided scope that are not already in Jetty, add them depending on the plugin, as was done with commons-dbcp .

See also comments at http://jira.codehaus.org/browse/JETTY-429 for a discussion of such potential confusion.

+5
source

I had a similar problem with javax.servlet , because there were 2.4 versions of 3.0.0 jar versions in Eclipse Libraries / Maven Dependencies. To fix it in Eclipse , open the pom.xml project, the tab of the dependency hierarchy, the “servlet” filter, select (right-click) unnecessary 2.4 (or 2.5) and “Exclude Maven artifact ...”. Valery Gorbunov for a hint :)

+3
source

I deleted

  <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1</version> <type>jar</type> </dependency> 

at the dock, and now it works ... it seems that other conflicts with Logger are conflicting with logging? I still do not understand, but for now ... it works ... Sometimes maven and java are not best friends, or I'm too stupid;)

0
source

Source: https://habr.com/ru/post/1413752/


All Articles