Looks like the error is due to the fact that geode-dependencies.jar and gfsh-dependencies.jar includes both spring-core versions in it's classpath, and it fails to find ResolvableTypeProvider.java which only exists in the later version. I tried turning off the transitive dependency of spring-shell, and only include the spring-core-4.2.4.RELEASE in the classpath, then the locator started with no errors.
On Fri, Apr 8, 2016 at 10:00 AM, Jinmei Liao <[email protected]> wrote: > On a similar note, I just did a pull from develop and ran a clean > installDist. When I tried to start a locator in GFSH, I got the following > error in the log file: > > [error 2016/04/08 09:53:12.979 PDT locator1 <locator request thread[1]> > tid=0x27] Jmx manager could not be started because HTTP service failed to > start > > com.gemstone.gemfire.management.ManagementException: HTTP service failed > to start > > at > com.gemstone.gemfire.management.internal.ManagementAgent.startHttpService(ManagementAgent.java:279) > > at > com.gemstone.gemfire.management.internal.ManagementAgent.startAgent(ManagementAgent.java:125) > > at > com.gemstone.gemfire.management.internal.SystemManagementService.startManager(SystemManagementService.java:475) > > at > com.gemstone.gemfire.management.internal.JmxManagerLocator.findJmxManager(JmxManagerLocator.java:104) > > at > com.gemstone.gemfire.management.internal.JmxManagerLocator.processRequest(JmxManagerLocator.java:57) > > at > com.gemstone.gemfire.distributed.internal.InternalLocator$PrimaryHandler.processRequest(InternalLocator.java:1328) > > at > com.gemstone.gemfire.distributed.internal.tcpserver.TcpServer$3.run(TcpServer.java:386) > > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > > at java.lang.Thread.run(Thread.java:745) > > Caused by: MultiException[java.lang.NoClassDefFoundError: > org/springframework/core/ResolvableTypeProvider, java.net.BindException: > Address already in use] > > at org.eclipse.jetty.server.Server.doStart(Server.java:347) > > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) > > at > com.gemstone.gemfire.management.internal.JettyHelper.startJetty(JettyHelper.java:147) > > at > com.gemstone.gemfire.management.internal.ManagementAgent.startHttpService(ManagementAgent.java:251) > > ... 9 more > > Suppressed: java.net.BindException: Address already in use > > at sun.nio.ch.Net.bind0(Native Method) > > at sun.nio.ch.Net.bind(Net.java:433) > > at sun.nio.ch.Net.bind(Net.java:425) > > at > sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) > > at > sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) > > at > org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:326) > > at > org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80) > > at > org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:244) > > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) > > at org.eclipse.jetty.server.Server.doStart(Server.java:384) > > ... 12 more > > Caused by: java.lang.NoClassDefFoundError: > org/springframework/core/ResolvableTypeProvider > > at java.lang.ClassLoader.defineClass1(Native Method) > > at java.lang.ClassLoader.defineClass(ClassLoader.java:760) > > at > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) > > at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) > > at java.net.URLClassLoader.access$100(URLClassLoader.java:73) > > at java.net.URLClassLoader$1.run(URLClassLoader.java:368) > > at java.net.URLClassLoader$1.run(URLClassLoader.java:362) > > at java.security.AccessController.doPrivileged(Native Method) > > at java.net.URLClassLoader.findClass(URLClassLoader.java:361) > > at > org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:549) > > at > org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:475) > > at > org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:428) > > at java.lang.Class.getDeclaredConstructors0(Native Method) > > at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) > > at java.lang.Class.getConstructor0(Class.java:3075) > > at java.lang.Class.getDeclaredConstructor(Class.java:2178) > > at > org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:104) > > at > org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:628) > > at > org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682) > > at > org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553) > > at > org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494) > > at > org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) > > at javax.servlet.GenericServlet.init(GenericServlet.java:244) > > at > org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:626) > > at > org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:405) > > at > org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:875) > > at > org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:346) > > at > org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1379) > > at > org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1341) > > at > org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:772) > > at > org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:259) > > at > org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:517) > > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) > > at > org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) > > at > org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) > > at > org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) > > at > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) > > at > org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) > > at org.eclipse.jetty.server.Server.start(Server.java:405) > > at > org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:106) > > at > org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) > > at org.eclipse.jetty.server.Server.doStart(Server.java:372) > > ... 12 more > > Caused by: java.lang.ClassNotFoundException: > org.springframework.core.ResolvableTypeProvider > > at java.net.URLClassLoader.findClass(URLClassLoader.java:381) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > > at > org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:487) > > at > org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:428) > > ... 54 more > > On Fri, Apr 8, 2016 at 6:35 AM, Anthony Baker <[email protected]> wrote: > >> For comparison, here’s the classpath from the M1 release: >> >> Manifest-Version: 1.0 >> Created-By: abaker >> Title: gemfire >> Version: 1.0.0-incubating.M1 >> Organization: Apache Software Foundation (ASF) >> Class-Path: gemfire-common-1.0.0-incubating.M1.jar gemfire-json-1.0.0- >> incubating.M1.jar gemfire-joptsimple-1.0.0-incubating.M1.jar gemfire- >> core-1.0.0-incubating.M1.jar gemfire-lucene-1.0.0-incubating.M1.jar s >> pring-core-3.2.12.RELEASE.jar jgroups-3.6.6.Final.jar antlr-2.7.7.jar >> jackson-annotations-2.2.0.jar jackson-core-2.2.0.jar jackson-databin >> d-2.2.0.jar commons-io-2.3.jar commons-lang-2.5.jar commons-logging-1 >> .1.1.jar netty-all-4.0.4.Final.jar fastutil-7.0.2.jar javax.resource- >> api-1.7.jar javax.servlet-api-3.1.0.jar javax.transaction-api-1.2.jar >> jna-4.0.0.jar jline-2.12.jar hbase-0.94.27.jar log4j-api-2.5.jar log >> 4j-core-2.5.jar jetty-http-9.3.6.v20151106.jar jetty-io-9.3.6.v201511 >> 06.jar jetty-security-9.3.6.v20151106.jar jetty-server-9.3.6.v2015110 >> 6.jar jetty-servlet-9.3.6.v20151106.jar jetty-util-9.3.6.v20151106.ja >> r jetty-webapp-9.3.6.v20151106.jar jetty-xml-9.3.6.v20151106.jar jans >> i-1.8.jar slf4j-api-1.7.7.jar spring-shell-1.1.0.RELEASE.jar snappy-j >> ava-1.1.1.6.jar log4j-slf4j-impl-2.5.jar log4j-jcl-2.5.jar log4j-jul- >> 2.5.jar lucene-analyzers-common-5.3.0.jar lucene-core-5.3.0.jar lucen >> e-queries-5.3.0.jar lucene-queryparser-5.3.0.jar >> >> The spring-core jar is not present on the classpath at all, despite >> having a bunch of spring jars in the lib dir !! >> >> Anthony-Baker-MacBook-Pro:lib abaker$ ls -1 spring* >> spring-aop-3.2.12.RELEASE.jar >> spring-beans-3.2.12.RELEASE.jar >> spring-context-3.2.12.RELEASE.jar >> spring-context-support-3.2.12.RELEASE.jar >> spring-core-3.2.12.RELEASE.jar >> spring-data-commons-1.9.1.RELEASE.jar >> spring-data-gemfire-1.5.1.RELEASE.jar >> spring-expression-3.2.12.RELEASE.jar >> spring-shell-1.1.0.RELEASE.jar >> spring-tx-3.2.12.RELEASE.jar >> spring-web-3.2.12.RELEASE.jar >> spring-webmvc-3.2.12.RELEASE.jar >> >> Back to the original question: spring-shell-1.1.0 depends on >> spring-core-4.0.3.RELEASE while other usages in geode rely on >> spring-core-4.2.4.RELEASE. Is this ok? >> >> Anthony >> >> >> > On Apr 8, 2016, at 6:12 AM, Anthony Baker <[email protected]> wrote: >> > >> > After an update I’m seeing a conflict on spring-core. Here’s the >> geode-dependencies classpath with both versions of spring-core: >> > >> > Class-Path: geode-common-1.0.0-incubating.M2-SNAPSHOT.jar geode-json-1 >> > .0.0-incubating.M2-SNAPSHOT.jar geode-joptsimple-1.0.0-incubating.M2- >> > SNAPSHOT.jar geode-core-1.0.0-incubating.M2-SNAPSHOT.jar geode-lucene >> > -1.0.0-incubating.M2-SNAPSHOT.jar geode-pulse-1.0.0-incubating.M2-SNA >> > PSHOT.jar geode-wan-1.0.0-incubating.M2-SNAPSHOT.jar geode-cq-1.0.0-i >> > ncubating.M2-SNAPSHOT.jar jgroups-3.6.7.Final.jar antlr-2.7.7.jar jac >> > kson-databind-2.2.0.jar commons-io-2.3.jar commons-lang-2.5.jar netty >> > -all-4.0.4.Final.jar fastutil-7.0.2.jar javax.resource-api-1.7.jar jn >> > a-4.0.0.jar log4j-api-2.5.jar log4j-core-2.5.jar jetty-webapp-9.3.6.v >> > 20151106.jar spring-shell-1.1.0.RELEASE.jar snappy-java-1.1.1.6.jar j >> > ansi-1.8.jar log4j-slf4j-impl-2.5.jar log4j-jcl-2.5.jar log4j-jul-2.5 >> > .jar jackson-annotations-2.2.0.jar jackson-core-2.2.0.jar javax.trans >> > action-api-1.2.jar jetty-xml-9.3.6.v20151106.jar jetty-servlet-9.3.6. >> > v20151106.jar jline-2.12.jar spring-core-4.0.3.RELEASE.jar slf4j-api- >> > 1.7.12.jar commons-logging-1.2.jar jetty-util-9.3.6.v20151106.jar jet >> > ty-security-9.3.6.v20151106.jar jetty-server-9.3.6.v20151106.jar java >> > x.servlet-api-3.1.0.jar jetty-http-9.3.6.v20151106.jar jetty-io-9.3.6 >> > .v20151106.jar lucene-analyzers-common-5.3.0.jar lucene-core-5.3.0.ja >> > r lucene-queries-5.3.0.jar lucene-queryparser-5.3.0.jar spring-core-4 >> > .2.4.RELEASE.jar >> > >> > The older version is pulled in transitively: >> > >> > Anthony-Baker-MacBook-Pro:geode-core abaker$ gradle dependencyInsight >> --dependency spring-core >> > :geode-core:dependencyInsight >> > org.springframework:spring-core:4.0.3.RELEASE >> > \--- org.springframework.shell:spring-shell:1.1.0.RELEASE >> > \— compile >> > >> > Here’s at least subproject that uses the version from >> dependency-versions.properties: >> > >> > Anthony-Baker-MacBook-Pro:geode-rebalancer abaker$ gradle >> dependencyInsight --dependency spring-core >> > :geode-rebalancer:dependencyInsight >> > org.springframework:spring-core:4.2.4.RELEASE >> > +--- org.springframework:spring-aop:4.2.4.RELEASE >> > | \--- org.springframework:spring-context:4.2.4.RELEASE >> > | \--- compile >> > +--- org.springframework:spring-beans:4.2.4.RELEASE >> > | +--- org.springframework:spring-context:4.2.4.RELEASE (*) >> > | \--- org.springframework:spring-aop:4.2.4.RELEASE (*) >> > +--- org.springframework:spring-context:4.2.4.RELEASE (*) >> > \--- org.springframework:spring-expression:4.2.4.RELEASE >> > \--- org.springframework:spring-context:4.2.4.RELEASE (*) >> > >> > Anthony >> > >> > >> >> On Apr 7, 2016, at 4:13 PM, Dan Smith <[email protected]> wrote: >> >> >> >> 3 of these dependencies should now be gone with the changes for >> GEODE-1025. >> >> spring-context-support >> >> spring-data-gemfire >> >> spring-data-commons >> >> >> >> BTW, if you want to see the list of jars we ship, there's a handy >> gradle >> >> task I added. It will show you what is in each war file as well as the >> lib >> >> directory: >> >> >> >> ./gradlew dumpInstalledJars >> >> >> >> On Thu, Apr 7, 2016 at 10:50 AM, Anthony Baker <[email protected]> >> wrote: >> >> >> >>> Added JIRA: >> >>> https://issues.apache.org/jira/browse/GEODE-1193 >> >>> >> >>> Anthony >> >>> >> >>>> On Apr 7, 2016, at 9:44 AM, Jens Deppe <[email protected]> wrote: >> >>>> >> >>>> The reason that the servlet API jar is included is because it gets >> used >> >>> on >> >>>> the server classpath (where the sessions are stored). I'm going >> through >> >>> the >> >>>> Modules docs now, so we should be able to direct users to use the >> servlet >> >>>> jar provided by the container. We should be OK not to ship it. >> >>>> >> >>>> --Jens >> >>>> >> >>>> On Thu, Apr 7, 2016 at 8:33 AM, John Blum <[email protected]> wrote: >> >>>> >> >>>>> I would not include the (javax.)servlet-api JAR with Geode. It will >> be a >> >>>>> significant pain point for web applications (and frameworks, e.g. >> >>> *Spring >> >>>>> Session*) that expect a specific version of the Servlet API and then >> >>>>> suddenly encounter conflicting versions. >> >>>>> >> >>>>> Also, FYI, the latest release of the core *Spring Framework >> >>>>> <http://projects.spring.io/spring-framework/>* [1] is now >> >>> 4.2.5.RELEASE. >> >>>>> The latest *Spring Security < >> http://projects.spring.io/spring-security/ >> >>>> * >> >>>>> [2] >> >>>>> release is 4.0.4.RELEASE. The latest in the 3.x line is 3.2.9; the >> >>> *Spring >> >>>>> Security* version used by Geode (3.1.x) is not even supported any >> more. >> >>>>> >> >>>>> >> >>>>> [1] http://projects.spring.io/spring-framework/ >> >>>>> [2] http://projects.spring.io/spring-security/ >> >>>>> >> >>>>> >> >>>>> On Thu, Apr 7, 2016 at 8:21 AM, Anthony Baker <[email protected]> >> >>> wrote: >> >>>>> >> >>>>>> You can’t tell from the diff below but it turns out we’re >> including two >> >>>>>> versions of servlet-api: >> >>>>>> >> >>>>>> servlet-api-2.5.jar >> >>>>>> javax.servlet-api-3.1.0.jar >> >>>>>> >> >>>>>> Version 3.1.0 is from the geode/lib while the older jar is from >> the app >> >>>>>> server module. Do we need to ship these at all since they are only >> >>>>> needed >> >>>>>> for compiling? >> >>>>>> >> >>>>>> Anthony >> >>>>>> >> >>>>>> >> >>>>>>> On Apr 6, 2016, at 10:51 PM, Anthony Baker <[email protected]> >> wrote: >> >>>>>>> >> >>>>>>> Here’s a comparison of the bundled jar dependencies present in the >> >>>>>> binary distribution from the M1 release versus the current develop >> >>>>> branch. >> >>>>>> The good news is there aren’t that many changes despite lots of >> build >> >>>>>> refactoring and new source code in pulse / modules / wan / cq. >> >>>>>>> >> >>>>>>> If you see something that looks wrong, please speak up. I see a >> >>>>>> possible version conflict on sl4j. >> >>>>>>> >> >>>>>>> Anthony-Baker-MacBook-Pro:tmp abaker$ diff -y >> --suppress-common-lines >> >>>>>> license.M1/M1-jars license.M2/M2-jars >> >>>>>>> activation-1.1.1.jar | >> >>>>>> activation-1.1.jar >> >>>>>>>> >> >>>>>> commons-beanutils-1.8.3.jar >> >>>>>>>> >> >>>>>> commons-collections-3.2.2.jar >> >>>>>>>> >> >>>>>> commons-digester-2.1.jar >> >>>>>>> commons-logging-1.1.1.jar | >> >>>>>> commons-logging-1.2.jar >> >>>>>>> hbase-0.94.27.jar < >> >>>>>>> jgroups-3.6.6.Final.jar >> | >> >>>>>> jgroups-3.6.7.Final.jar >> >>>>>>>> >> >>>>>> servlet-api-2.5.jar >> >>>>>>>> >> >>>>>> slf4j-api-1.7.12.jar >> >>>>>>>> >> >>>>>> slf4j-jdk14-1.7.7.jar >> >>>>>>> spring-aop-3.2.12.RELEASE.jar | >> >>>>>> spring-aop-4.2.4.RELEASE.jar >> >>>>>>> spring-aspects-3.2.12.RELEASE.jar | >> >>>>>> spring-aspects-4.2.4.RELEASE.jar >> >>>>>>> spring-beans-3.2.12.RELEASE.jar >> | >> >>>>>> spring-beans-4.2.4.RELEASE.jar >> >>>>>>> spring-context-3.2.12.RELEASE.jar | >> >>>>>> spring-context-4.2.4.RELEASE.jar >> >>>>>>> spring-context-support-3.2.12.RELEASE.jar | >> >>>>>> spring-context-support-4.2.4.RELEASE.jar >> >>>>>>> spring-core-3.2.12.RELEASE.jar >> | >> >>>>>> spring-core-4.2.4.RELEASE.jar >> >>>>>>> spring-data-gemfire-1.5.1.RELEASE.jar | >> >>>>>> spring-data-gemfire-1.7.2.RELEASE.jar >> >>>>>>> spring-expression-3.2.12.RELEASE.jar | >> >>>>>> spring-expression-4.2.4.RELEASE.jar >> >>>>>>> spring-oxm-3.2.12.RELEASE.jar | >> >>>>>> spring-ldap-core-1.3.2.RELEASE.jar >> >>>>>>>> >> >>>>>> spring-oxm-4.2.4.RELEASE.jar >> >>>>>>>> >> >>>>>> spring-security-config-3.1.7.RELEASE.jar >> >>>>>>>> >> >>>>>> spring-security-core-3.1.7.RELEASE.jar >> >>>>>>>> >> >>>>>> spring-security-ldap-3.1.7.RELEASE.jar >> >>>>>>>> >> >>>>>> spring-security-web-3.1.7.RELEASE.jar >> >>>>>>> spring-tx-3.2.12.RELEASE.jar | >> >>>>>> spring-tx-4.2.4.RELEASE.jar >> >>>>>>> spring-web-3.2.12.RELEASE.jar | >> >>>>>> spring-web-4.2.4.RELEASE.jar >> >>>>>>> spring-webmvc-3.2.12.RELEASE.jar | >> >>>>>> spring-webmvc-4.2.4.RELEASE.jar >> >>>>>>> >> >>>>>>> >> >>>>>>> Anthony >> >>>>>>> >> >>>>>>> >> >>>>>> >> >>>>>> >> >>>>> >> >>>>> >> >>>>> -- >> >>>>> -John >> >>>>> 503-504-8657 >> >>>>> john.blum10101 (skype) >> >>>>> >> >>> >> >>> >> > >> >> > > > -- > Cheers > > Jinmei > -- Cheers Jinmei
