When starting tomcat if you get Windows Sockets error: 0: JVM_Bind, it means that already some other process is running on that port
On the command prompt you can do the following
C:\Users\winni>netstat -ano | findstr :8080
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 7112
Now open the task manager, and in process details find for PID 7112 and do an End Task.Below is the detailed error
SEVERE: Error initializing endpoint
java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.(ServerSocket.java:185)
at java.net.ServerSocket.(ServerSocket.java:141)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:493)
at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:174)
at org.apache.catalina.connector.Connector.initialize(Connector.java:1016)
at org.apache.catalina.core.StandardService.initialize(StandardService.java:580)
at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:791)
at org.apache.catalina.startup.Catalina.load(Catalina.java:503)
at org.apache.catalina.startup.Catalina.load(Catalina.java:523)
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.apache.catalina.startup.Bootstrap.load(Bootstrap.java:259)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:411)
Oct 25, 2025 10:37:05 AM org.apache.catalina.startup.Catalina load
SEVERE: Catalina.start
LifecycleException: Protocol handler initialization failed: java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind
at org.apache.catalina.connector.Connector.initialize(Connector.java:1018)
at org.apache.catalina.core.StandardService.initialize(StandardService.java:580)
at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:791)
at org.apache.catalina.startup.Catalina.load(Catalina.java:503)
at org.apache.catalina.startup.Catalina.load(Catalina.java:523)
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.apache.catalina.startup.Bootstrap.load(Bootstrap.java:259)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:411)
Oct 25, 2025 10:37:05 AM org.apache.catalina.startup.Catalina load
- Locate the server.xml file in your Tomcat installation's conf directory.
- Modify the port attribute in the
element (for HTTP, HTTPS) and the element (for shutdown port) to an unused port number.
<Connector port="8080" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000" redirectPort="8443" />
org.apache.jasper.JasperException: org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: [org.apache.struts.taglib.html.MessagesTei]
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:546)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:394)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:330)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:281)
jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause
org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: [org.apache.struts.taglib.html.MessagesTei]
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:35)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:267)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:127)
org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:296)
org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:190)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:403)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:456)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1284)
org.apache.jasper.compiler.Parser.parse(Parser.java:125)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:240)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:188)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:361)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:339)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:325)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:330)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:281)
jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause
java.lang.ClassCastException: class org.apache.struts.taglib.html.MessagesTei cannot be cast to class jakarta.servlet.jsp.tagext.TagExtraInfo (org.apache.struts.taglib.html.MessagesTei is in unnamed module of loader org.apache.catalina.loader.ParallelWebappClassLoader @60fa3495; jakarta.servlet.jsp.tagext.TagExtraInfo is in unnamed module of loader java.net.URLClassLoader @2b05039f)
org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:294)
org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:190)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:403)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:456)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1284)
org.apache.jasper.compiler.Parser.parse(Parser.java:125)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:240)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:188)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:361)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:339)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:325)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:330)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:281)
jakarta.servlet.http.HttpServlet.service(HttpServlet.java:710)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) Errors when compiling you Struts application in EclipseTarget runtime apache tomcat v6.0 is not defined
Issue 1: Target Runtime Not Defined
Step 1: Define Apache Tomcat v6.0 in Eclipse
Window → Preferences
Expand Server → Select Runtime Environments
Click Add...
Select Apache Tomcat v6.0 (under Apache)
Click Next
Browse to your Tomcat 6.0 installation directory
Select your JRE (Java 1.6.0_21)
Click Finish
Click OK to close Preferences
Step 2: Assign Runtime to Your Project
Right-click project → Properties
Go to Targeted Runtimes
Check the box for Apache Tomcat v6.0
Click Apply
Java compiler does not match the verison of the installed java project facet
Issue 2: Java Compiler vs Project Facet Mismatch
Step 1: Check Project Facets
Right-click project → Properties
Go to Project Facets
You'll see:
Java - should be 6.0 (or 5.0 minimum for autoboxing)
Dynamic Web Module - probably 2.5 or 2.4
God's Word for the day
The need of reflection and self control
Before you speak, learn,
And before you fall ill take care of your health
Before judgement comes, examine yourself
and at the time of scrutiny you will find forgiveness
Before falling ill, humble yourself
And when you have sinned repent
Sirach 18:19-21
Concerning self deception
Not everyone who says to me 'Lord, Lord,' will enter the kingdom of heaven,
But only the one who does the will of my Father in Heaven.
On that day many will say to me, 'Lord, Lord, did we not prophesy in your name,
And cast out demons in your name, And do many deeds of power in your name?
Then I will declare to them, 'I never knew you; go away from me you evil doers.'
Mathew 7:21-23
No comments:
Post a Comment