I am using MyEclipse 9 and Tomcat7.0 . I have taken latest code and deployed in Tomcat 7 and started the server. Immediately i got an error log as mentioned below.
INFO: The listener "org.apache.myfaces.webapp.StartupServletContextListener" is already configured for this context. The duplicate definition has been ignored.
Jan 10, 2014 5:53:40 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class com.aap.apweb.servlet.APServletContextListener
java.lang.ClassNotFoundException: com.aap.apweb.servlet.APServletContextListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4537)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5097)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5092)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Jan 10, 2014 5:53:40 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class com.aap.apweb.servlet.APHTTPSessionListener
java.lang.ClassNotFoundException: com.aap.apweb.servlet.APHTTPSessionListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:415)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:397)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:118)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4537)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5097)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5092)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Jan 10, 2014 5:53:40 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Skipped installing application listeners due to previous error(s)
Jan 10, 2014 5:53:40 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
Jan 10, 2014 5:53:40 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/apweb] startup failed due to previous errors
Jan 10, 2014 5:53:41 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
SEVERE: The web application [/apweb] registered the JDBC driver [net.sourceforge.jtds.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Jan 10, 2014 5:53:41 PM org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["http-apr-8080"]
Jan 10, 2014 5:53:41 PM org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["ajp-apr-8009"]
Jan 10, 2014 5:53:41 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 13243 ms
I think the jars path has to be set. But i am not able to find it.
Is com.aap.apweb.servlet.APHTTPSessionListener one of your classes? I don't get any hits on Google so I'm guessing it is. You need to ensure that you have set all dependencies in your build path and set deployment policies accordingly. Deployment policies for the project can be adjusted by right clicking on the project, selecting Properties, then going to the MyEclipse/Web page and clicking the Deployment tab. On that tab, you can choose to use the workbench settings (in which case most fields will be grayed out) or not (just deselect the "Use workbench default settings").
Note that the most recent release of MyEclipse gives you more explicit control over deployment, via a deployment assembly. A license for MyEclipse 9 also applies to MyEclipse 2014, which can be downloaded from the www.myeclipseide.com web site.
Right click on project
then go to build path -> add library in libraries pane.
then select server run time then add apache tomcat and then try to run your application.
You can export the required projects as jar files and place them in your .WAR file in WEB-INF\lib .This ensures that your classes from your jar files get loaded during application startup.
As per this line from the log:
The web application [/apweb] registered the JDBC driver [net.sourceforge.jtds.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
I have added db2 jdbc 1.6 jars(db2jcc4.jar and db2jcc4_license_cisuz.jar)to my project build path. These jars solved my problem while restarting the server. It started without any issue.
Thanks for all the geeks to responding me.
I am getting the same error when I started tomcat server in Eclipse Luna environment. And my OS is Ubuntu.
Actually the problem is when I build the project the web module not create the M2e-wtp maven folder. When we start the tomcat server it could not see the maven dependencies. That's while the exception came.
I resolve this issue by Downloading the latest Mars eclipse. And again I checked out my project.
After clean installed my project the issue was resolved. It's working fine.
Related
I am running into an issue where I am unable to shutdown the Liferay 6.2 tomcat bundle on the server via the bundled shutdown script on the new linux server.
The steps I took are:
Installed the bundle by unziping it.
Uploaded the custom portal-ext.properties in the default liferay home folder
Change the memory args as defined in the deployment best practices guide in the tomcat home/bin/setenv.sh
Added Oracle custom data source in the tomcat home/conf/context.xml
JDK - jdk1.7.0_75
Navigate to the tomcat home/bin folder -> run ./startup.sh
Liferay and the bundle comes up.
To shutdown - Navigate to the tomcat home/bin folder -> run ./shutdown.sh
This displays the following but the tomcat is not shutdown:
$ ./shutdown.sh
Using CATALINA_BASE: /.../liferay-portal-6.2-ee-sp2/tomcat-7.0.42
Using CATALINA_HOME: /.../liferay-portal-6.2-ee-sp2/tomcat-7.0.42
Using CATALINA_TMPDIR: /.../liferay-portal-6.2-ee-sp2/tomcat-7.0.42/temp
Using JRE_HOME: /.../java/jdk1.7.0_75
Using CLASSPATH: /.../liferay-portal-6.2-ee-sp2/tomcat-7.0.42/bin/bootstrap.jar:/.../liferay-portal-6.2-ee-sp2/tomcat-7.0.42/bin/tomcat-juli.jar
I see the following in the Tomcat logs.
apr 27, 2015 1:18:23 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [] appears to have started a thread named [org.python.google.common.base.internal.Finalizer] but has failed to stop it. This is very likely to create a memory leak.
Apr 27, 2015 1:18:23 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [] appears to have started a thread named [MulticastListener-239.255.0.523305] but has failed to stop it. This is very likely to create a memory leak.
Apr 27, 2015 1:18:23 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [] appears to have started a thread named [pool-3-thread-1] but has failed to stop it. This is very likely to create a memory leak.
Apr 27, 2015 1:18:29 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/opensocial-portlet] appears to have started a thread named [com.google.inject.internal.Finalizer] but has failed to stop it. This is very likely to create a memory leak.
Apr 27, 2015 1:18:45 PM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["http-bio-8080"]
Apr 27, 2015 1:18:45 PM org.apache.coyote.AbstractProtocol stop
INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
Apr 27, 2015 1:18:45 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["http-bio-8080"]
Apr 27, 2015 1:18:45 PM org.apache.coyote.AbstractProtocol destroy
INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
The tomcat process is still showing after a few minutes as an active process and needs to be killed manually. Liferay seems to be down after the shutdown script is run within a minute or so.
I need this to work so all the resources are released cleanly and I can script the startup and shutdown as needed.
Has anyone seen this and resolved this behavior? Any insight would be much appreciated.
Thanks!
After working through this issue and following the steps below, the tomcat process shuts down within a minute or so with the shutdown script and there is no need to kill the process manually.
increased maxpermsize catalina_opts argument to 512m (was 200m) in the setenv.sh - this resolved 2 of the memory leak messages in the logs at shutdown and also resulted in the tomcat process shutdown properly.
removing the opensocial-portlet removed 1 memory leak error prior to the maxpermsize change but the process was still not shutdown properly.
there is 1 remaining memory leak error in the logs on shutdown but that for now is not preventing the tomcat from shutting down and seems to be part of tomcat not necessarily caused by liferay. This message for now seems safe to ignore per this LPS issue below
https://issues.liferay.com/browse/LPS-34498
Hope this helps someone.
Any help will be much appreciated. I am running a web application which depends on two other projects in my work space. These two projects further depend on 3 other projects in my workspace. There are no errors with any of the projects within the work space. Running the web app within Tomcat produces the following error:
java.lang.NoClassDefFoundError: com/tele/misc/DefaultApplicationModule
Which is a class within the first level of dependent projects. All was working fine up until recently. This is obviously some sort of classpath issue? Any suggestions on how to find this within Eclipse metadata and fix this?
More detail:
Console:
*******************************************************************
*** WARNING: Apache MyFaces-2 is running in DEVELOPMENT mode. ***
*** ^^^^^^^^^^^ ***
*** Do NOT deploy to your live server(s) without changing this. ***
*** See Application#getProjectStage() for more information. ***
*******************************************************************
Feb 13, 2014 1:41:18 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
Feb 13, 2014 1:41:18 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/CRGen] startup failed due to previous errors
Feb 13, 2014 1:41:18 PM org.apache.catalina.core.StandardContext listenerStop
SEVERE: Exception sending context destroyed event to listener instance of class za.co.huge.processor.CRToolContextListener
java.lang.NoClassDefFoundError: com/tele/misc/DefaultApplicationModule
at za.co.huge.processor.ReportProcessor.<init>(ReportProcessor.java:30)
at za.co.huge.processor.ReportProcessor.getInstance(ReportProcessor.java:41)
at za.co.huge.processor.CRToolContextListener.contextDestroyed(CRToolContextListener.java:22)
at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4927)
at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5573)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Feb 13, 2014 1:41:18 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Feb 13, 2014 1:41:18 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Feb 13, 2014 1:41:18 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 2547 ms
All of this originating from my servlet context listener:
<!-- CRTool Context listener starts report processing Engine -->
<listener>
<listener-class>za.co.huge.processor.CRToolContextListener</listener-class>
</listener>
Which fails when init on Guice modules from the dependant project:
/* singleton design pattern - so only one service thread can be running */
private ReportProcessor(final long sleepTime){
serviceThread = new ServiceThread(sleepTime);
thread = new Thread(serviceThread);
thread.setPriority(Thread.MIN_PRIORITY);
final Injector injector = Guice.createInjector(new DefaultApplicationModule());
// final Injector injector = Guice.createInjector(new CommissionsModule(), new DefaultApplicationModule());
// ci = injector.getInstance(CommissionsImpl.class);
}
After you compile your code, you end up with .class files for each class in your program. These binary files are the bytecode that Java interprets to execute your program. The NoClassDefFoundError indicates that the classloader, which is responsible for dynamically loading classes, cannot find the .class file for the class that you're trying to use. It probably indicates that you haven't set the classpath option when executing your code. This link explains how to set the classpath when you execute.
http://en.wikipedia.org/wiki/Classpath_%28Java%29
I am trying to integrate solr on tomcat. I have tried from almost a couple of blogs
http://www.beingjavaguys.com/2013/01/if-you-want-to-configure-solr4_19.html
http://wiki.apache.org/solr/SolrTomcat
But every time I am faced with the 404 not found page when trying to run-
localhost:4040/solr-4.4.0
On trying to start the webapp from tomcat manager its throwing
FAIL - Application at context path /solr-4.4.0 could not be started
I have checked the catalina.logs file
Sep 27, 2013 10:30:09 AM org.apache.catalina.core.StandardContext
startInternal SEVERE: Error filterStart Sep 27, 2013 10:30:09 AM
org.apache.catalina.core.StandardContext startInternal SEVERE: Context
[/solr-4.4.0] startup failed due to previous errors Sep 27, 2013
10:31:24 AM org.apache.catalina.startup.HostConfig deployWAR INFO:
Deploying web application archive AM.war Sep 27, 2013 10:31:24 AM
org.apache.catalina.loader.WebappClassLoader validateJarFile INFO:
validateJarFile(/root/Downloads/apache-tomcat-7.0.21/webapps/AM/WEB-INF/lib/servlet-api.jar)
- jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Any help here will be highly appreciated.
There was change in the way logging is implemented in Solr version 4.3 and higher. Please follow the directions outlined in Solr Logging - Using the example logging setup in containers other than Jetty for steps on how to setup logging to work properly with Tomcat.
Have you copied all jars from your solr home distribution to tomcat bin. make sure you copy all jars solr_home/bin & solr_home/bin/etc to tomcat lib folder and then give it a try.
Just trying to deploy web service war file but could not make it using apache tomcat 7. I tried sample war file and it works fine just accesing from browser localhost:8080/sample so sure that my tomcat is well configured. just copying the war under webapps/ and deploy it but same message: description The requested resource is not available.
I am wondering if web service application shows another way to deploy it ???
here is a content of catalina.log file:
4:28:25 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
4:28:25 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/APP] startup failed due to previous errors
Oct 12, 2012 4:28:25 PM org.apache.catalina.startup.HostConfig deployDirectory
Any idea ??
I had a similar problem. The catalina.out logged this log Message
Apr 17, 2013 5:14:46 PM org.apache.catalina.core.StandardContext start SEVERE: Error listenerStart
The error is caused when a exception is thrown while the server is starting.
To figure out what is causing the you should look at localhost.log (in the same directory as catalina.out) not catalina.out, you should be able to see the exception that caused the error
You can check the error by adding a logging.properties file in your WEB-INF/classes folder with the following contents:
org.apache.catalina.core.ContainerBase.[Catalina].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].handlers = java.util.logging.ConsoleHandler
I am taking over an existing Struts-based web application and am trying to deploy it for the first time on my local machine. My predecessor told me to run it through Eclipse on a Tomcat server.
I have installed the latest tomcat and it is running fine. I have grabbed the code from their CVS server and, with a few tweaks, removed all of the errors from the Java files. I then created a new Run Configuration having it run as "Run on server".
When I run the Run Config, the tomcat server starts up without error messages in the Console and an Eclipse browser page pops up to the correct local URL. The returned page is a 404, however. Looking at my Tomcat "webaps" folder, I see that my application is not there.
My question is, how can I troubleshoot this? My tomcat error logs do not get updated when I deploy and the Console output, shown below, offers no hint that there is a problem.
May 30, 2011 3:48:07 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: <long list of paths>
May 30, 2011 3:48:07 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
May 30, 2011 3:48:07 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 410 ms
May 30, 2011 3:48:07 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
May 30, 2011 3:48:07 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.32
May 30, 2011 3:48:08 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor CanPost_Emil.xml
May 30, 2011 3:48:08 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
May 30, 2011 3:48:08 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
May 30, 2011 3:48:08 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/31 config=null
May 30, 2011 3:48:08 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 244 ms
This is not the way to run web apps inside Eclipse.
Go to the Server view panel instead, and choose Add server. Here install the Tomcat adapter according to the instructions, and then add the projects you have (if they are Dynamic Web Projects). You can now start and stop the server and have the projects chosen updated when you change.
Do it this way. Do not try to create a Run Configuration launching Tomcat.
I have exactly the same problem.
While this is not a solution to the problem itself (running the project on Tomcat from within Eclipse), it is a way to run the project:
Pack(age) the project (I use maven: 'mvn clean package')
Copy the .war file into the webapps dir inside your tomcat installation.
(if not already running) Start up tomcat.
This works for me. I'm still looking for the proper answer to your question, but until I find it I'll just continue to manually package/deploy the project.