With the latest revision: dd9e5af4b4324e5511d170238f6532217384e15b I can't even start gfsh. I get this message:
$ ./bin/gfsh Required (Spring Core) libraries not found in the classpath. gfsh can't start. On Fri, Apr 8, 2016 at 11:00 AM, Jinmei Liao <[email protected]> wrote: > 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 >
