Hi Maxim, same for me I just created a simple setup like this:
String baseDir ="."; String webappDirLocation = "src/main/webapp/"; String webxmlDirLocation = "src/main/webapp/WEB-INF/web.xml"; Tomcat tomcat = new Tomcat(); tomcat.setPort(8080); tomcat.setBaseDir(baseDir); tomcat.getHost().setAppBase(baseDir); tomcat.getHost().setDeployOnStartup(true); tomcat.getHost().setAutoDeploy(true); tomcat.enableNaming(); StandardContext ctx = (StandardContext) tomcat.addWebapp("/project", new File(webappDirLocation).getAbsolutePath()); File additionWebInfClasses = new File("target/classes"); WebResourceRoot resources = new StandardRoot(ctx); resources.addPreResources(new DirResourceSet(resources, "/WEB-INF/classes", additionWebInfClasses.getAbsolutePath(), "/")); ctx.setResources(resources); ctx.setDefaultWebXml(new File(webxmlDirLocation).getAbsolutePath()); tomcat.start(); tomcat.getServer().await(); I just placed in a Servlet into my classpath and applied the mapping in the web.xml - with the dependencies of tomcat-embed-core and tomcat-embed-jasper of version 9.0.1 it is not working and with 8.5.23 it does. Here is the log of both. 8.5.23 Nov. 07, 2017 6:02:44 NACHM. org.apache.coyote.AbstractProtocol init INFORMATION: Initializing ProtocolHandler ["http-nio-8080"] Nov. 07, 2017 6:02:44 NACHM. org.apache.tomcat.util.net.NioSelectorPool getSharedSelector INFORMATION: Using a shared selector for servlet write/read Nov. 07, 2017 6:02:44 NACHM. org.apache.catalina.core.StandardService startInternal INFORMATION: Starting service [Tomcat] Nov. 07, 2017 6:02:44 NACHM. org.apache.catalina.core.StandardEngine startInternal INFORMATION: Starting Servlet Engine: Apache Tomcat/8.5.23 Nov. 07, 2017 6:02:44 NACHM. org.apache.catalina.startup.ContextConfig getDefaultWebXmlFragment INFORMATION: No global web.xml found Nov. 07, 2017 6:02:45 NACHM. org.apache.coyote.AbstractProtocol start INFORMATION: Starting ProtocolHandler ["http-nio-8080“] 9.0.1 Nov. 07, 2017 6:06:56 NACHM. org.apache.catalina.core.StandardService startInternal INFORMATION: Starting service [Tomcat] Nov. 07, 2017 6:06:56 NACHM. org.apache.catalina.core.StandardEngine startInternal INFORMATION: Starting Servlet Engine: Apache Tomcat/9.0.1 Nov. 07, 2017 6:06:56 NACHM. org.apache.catalina.startup.ContextConfig getDefaultWebXmlFragment INFORMATION: No global web.xml found kind regards Tobias > Am 07.11.2017 um 15:56 schrieb Maxim Solodovnik <solomax...@gmail.com>: > > Thanks for the hints :) > > I have created sample project: https://github.com/solomax/tomcat-from-java > > I have compared detailed logs. > > Following lines appears in logs while Tomcat8 is used > Nov 07, 2017 9:1 PM org.apache.catalina.util.LifecycleBase > setStateInternal > FINE: Setting state for [Connector[HTTP/1.1-8080]] to > [INITIALIZING] > Nov 07, 2017 9:1 PM org.apache.tomcat.util.modeler.Registry > registerComponent > FINE: Managed= Tomcat:type=Connector,port=8080 > > These lines are missing while Tomcat9 is used > > Maybe you can tell me why? > > On Mon, Nov 6, 2017 at 7:55 PM, Mark Thomas <ma...@apache.org> wrote: > >> On 04/11/17 15:25, Maxim Solodovnik wrote: >>> Maybe I can set breakpoint somewhere? and check what is wrong? >>> Could you point me to the correct class? >> >> No idea where to look at this point. I'd probably start with the start() >> method and go from there. >> >> Maybe try turning on debug logging? >> >> Mark >> >> >>> >>> On Fri, Nov 3, 2017 at 5:26 PM, Maxim Solodovnik <solomax...@gmail.com> >>> wrote: >>> >>>> I'm OK to add missing code to my tests, >>>> but I'm not sure what need to be added :( >>>> >>>> On Fri, Nov 3, 2017 at 3:24 PM, Maxim Solodovnik <solomax...@gmail.com> >>>> wrote: >>>> >>>>> I see no errors, >>>>> Using debugger I can see tomcat.server.state == STARTED >>>>> >>>>> Everything works as expected if I'm switching back to 8.5.23 without >> any >>>>> other changes >>>>> >>>>> nestat reports: >>>>> *netstat -an |grep 8080* >>>>> tcp6 0 0 :::8080 :::* >>>>> LISTEN >>>>> >>>>> for 8.5.23 >>>>> >>>>> >>>>> On Fri, Nov 3, 2017 at 3:08 PM, Mark Thomas <ma...@apache.org> wrote: >>>>> >>>>>> On 03/11/17 04:51, Maxim Solodovnik wrote: >>>>>>> Hello, >>>>>>> >>>>>>> I recently migrated from Tomcat 8.5.23 to Tomcat 9.0.1 >>>>>>> Everything works as expected except tests :( >>>>>>> >>>>>>> I'm using following code to start embedded Tomcat and test CXF web >>>>>> services [1]. >>>>>>> With Tomcat 9.0.1 tests failed, netstat -an displays port 8080 is not >>>>>>> being listened >>>>>>> What need to be changed? >>>>>> >>>>>> If Tomcat isn't listening then there should be an exception or error >>>>>> message reported at some point. Do you see anything in the logs? >>>>>> >>>>>> Mark >>>>>> >>>>>> >>>>>>> >>>>>>> >>>>>>> [1] https://github.com/apache/openmeetings/blob/master/openmeeti >>>>>> ngs-web/src/test/java/org/apache/openmeetings/webservice/ >>>>>> AbstractWebServiceTest.java#L98 >>>>>>> >>>>>> >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >>>>>> For additional commands, e-mail: users-h...@tomcat.apache.org >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> WBR >>>>> Maxim aka solomax >>>>> >>>> >>>> >>>> >>>> -- >>>> WBR >>>> Maxim aka solomax >>>> >>> >>> >>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >> For additional commands, e-mail: users-h...@tomcat.apache.org >> >> > > > -- > WBR > Maxim aka solomax --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org