Home » Language IDEs » ServerTools (WTP) » eclipse 3.2 tomcat5 server fails to start
| |
Re: eclipse 3.2 tomcat5 server fails to start [message #179768 is a reply to message #179392] |
Sun, 24 September 2006 21:52 |
Alan Chandler Messages: 45 Registered: July 2009 |
Member |
|
|
Larry Isaacs wrote:
> Yes, "The more details the better...", like operating system, which
> version of Tomcat, etc. Otherwise we have to guess.
>
> Here is one guess. I have never encountered this on Windows, but I
> have
> seen this on Linux using a packaged install of Tomcat. Does this
> match your use case?
>
> Cheers,
> Larry
>
> Jim wrote:
>> Hello,
>>
>> I have create a server on eclipse 3.2 (tomcat5) to debug dynamic www
>> project against.
>>
>> When a select my server in eclipse and choose "start" ... my server
>> fails to start and gives me the below error in my console tab:
>>
>> Bootstrap: Class loader creation threw exception
>> java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
>> at
>>
org.apache.tomcat.util.compat.JdkCompat.<clinit>(JdkCompat.java:55)
....
I have this problem with Eclipse 3.2, WTP 1.5.0, tomcat5.0
Tomcat is from Debian Unstable, the remainder I downloaded today. The
setting occurs when I have eclipse create its own workspace for the
webapps (ie CATALINA_BASE in in .metadata/.plugins ... )
|
|
| | |
Re: eclipse 3.2 tomcat5 server fails to start [message #179818 is a reply to message #179783] |
Mon, 25 September 2006 14:36 |
Larry Isaacs Messages: 1354 Registered: July 2009 |
Senior Member |
|
|
Hi Alan,
You have found the basic problem. In a normal Tomcat binary, the
bootstrap.jar includes a classpath in the MANIFEST.MF file it contains.
Packaged Tomcat installations for Linux tend to delete this
classpath in favor of using packaged installs of the dependencies, such
a commons-logging. You have also discovered that you have to modify the
classpath in the launch configuration within Eclipse to duplicate what
the catalina.sh was doing with respect to controlling the classpath.
Assuming this still isn't working, I would recommend undoing any
previous experiments. Then add commons-logging-api.jar to the classpath
as a User Entry in the Eclipse launch configuration. In the absence of
attempting anything with JDBC, this should get Tomcat starting normally.
Next, an appropriate location for the JDBC driver class should be found.
Since this is working in the production environment, where is it found
there? Is it in the webapp, or someplace else?
Cheers,
Larry
Alan Chandler wrote:
> Alan Chandler wrote:
>
>> Alan Chandler wrote:
>>
>>> I have this problem with Eclipse 3.2, WTP 1.5.0, tomcat5.0
>>>
>>> Tomcat is from Debian Unstable, the remainder I downloaded today.
>>> The setting occurs when I have eclipse create its own workspace for
>>> the webapps (ie CATALINA_BASE in in .metadata/.plugins ... )
>> As an additional datapoint, adding the commons-logging.jar and
>> commons-logging-api.jar to the java runtime jre/lib/ext directory
>> caused tomcat5 to fail immediately, with the only message on the
>> console that it had terminated.
>>
>> I have tried putting these two jars (or rather symbolic links to them)
>> in every directory I could think of (CATALINA_BASE/shared/lib.
>> CATALINA_HOME/server/lib and CATALINA_HOME/common/lib) but without
>> success.
>
> And as a further datapoint, I worked my way through catalina.sh in the
> CATALINA_HOME/bin directory (which is what Debian uses to start tomcat
> itself) and saw that it was adding commons-logging-api.jar to an
> initial CLASSPATH variable. So I editted the eclipse server
> configuration under the Classpath tab to include it.
>
> I now longer crashes out with the class not found error, but instead,
> depending on how you edit the classpath either terminates with no error
> message (add the jar to the user entry) or fails like this (adding the
> jar to the bootstrap entry)
>
> Bootstrap: Class loader creation threw exception
> java.lang.ExceptionInInitializerError
> at
> org.apache.catalina.startup.ClassLoaderFactory.<clinit>(ClassLoaderFactory.java:63)
> at
> org.apache.catalina.startup.Bootstrap.initClassLoaders(Boots trap.java:103)
> at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:19 6)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:40 2)
> Caused by: org.apache.commons.logging.LogConfigurationException:
> org.apache.commons.logging.LogConfigurationException:
> java.lang.NullPointerException (Caused by
> java.lang.NullPointerException) (Caused by
> org.apache.commons.logging.LogConfigurationException:
> java.lang.NullPointerException (Caused by
> java.lang.NullPointerException))
> at
> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(L ogFactoryImpl.java:543)
> at
> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(L ogFactoryImpl.java:235)
> at
> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(L ogFactoryImpl.java:209)
> at org.apache.commons.logging.LogFactory.getLog(LogFactory.java :351)
> at org.apache.tomcat.util.compat.JdkCompat.<clinit>(JdkCompat.java:55)
> ... 4 more
> Caused by: org.apache.commons.logging.LogConfigurationException:
> java.lang.NullPointerException (Caused by
> java.lang.NullPointerException)
> at
> org.apache.commons.logging.impl.LogFactoryImpl.getLogConstru ctor(LogFactoryImpl.java:397)
> at
> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(L ogFactoryImpl.java:529)
> ... 8 more
> Caused by: java.lang.NullPointerException
> at
> org.apache.commons.logging.impl.LogFactoryImpl.getLogConstru ctor(LogFactoryImpl.java:374)
> ... 9 more
>
>
>
>
|
|
|
Re: eclipse 3.2 tomcat5 server fails to start [message #179840 is a reply to message #179818] |
Mon, 25 September 2006 16:11 |
Eclipse User |
|
|
|
Originally posted by: alan.chandler.logicacmg.com
On Mon, 25 Sep 2006 10:36:40 -0400, Larry Isaacs
<Larry.Isaacs@sas.com> wrote:
>Assuming this still isn't working, I would recommend undoing any
>previous experiments. Then add commons-logging-api.jar to the classpath
>as a User Entry in the Eclipse launch configuration. In the absence of
>attempting anything with JDBC, this should get Tomcat starting normally.
This is what I did try doing - and in the console, I got a message
that tomcat had terminated - but NO other logging message See ...
>Alan Chandler wrote:
>> I now longer crashes out with the class not found error, but instead,
>> depending on how you edit the classpath either terminates with no error
>> message (add the jar to the user entry) ...
>
>Next, an appropriate location for the JDBC driver class should be found.
> Since this is working in the production environment, where is it found
>there? Is it in the webapp, or someplace else?
>
Maybe I am being a little unclear.
I have two computers - one a server, which is my "production"
(grandiose term for my home network:-) ) environment, running this
application from for a standard debian etch install, with a manually
edited server.xml file (in actual fact my whole web site is both
apache and tomcat - with apache frontending things and handling
security)
The other is a workstation, running debian unstable on which I have
also installed my eclipse environment (NOT debian packaged) and
another copy of tomcat (debian packaged) just for debugging.
My production environment is not involved in any issues now, but is a
working reference. Its just I found a bug in the application
"akcmoney" and want to return to my workstation and debug it.
On both systems the postgresql jdbc jar file is stored in
/usr/share/tomcat5/common/lib
After much trial and error, on my workstation, I have now manually
loaded up a war file in /var/lib/tomcat5/webapps, manually setup
/usr/share/tomcat5/conf/Catalina/localhost/akcmoney.xml and started
tomcat manually. In that case, I can now access the application and
see that it has successfully read the database. So my key issue seems
to be how to get tomcat5 to see the context.
So apart from the problem that I cannot get eclipse to start a tomcat
instance (as explained in my previous message and refered to the very
top of this message), I am then puzzled as to how to get eclipse to
create a context in subdirectory of conf. (theoretically I should be
able to put it into server.xml - but that hasn't worked for reasons I
don't really understand - but it might be that was when I had a
freshly downloaded - not debian - copy of tomcat 5.5, and there seems
to have been a change in 5.5.12 that stopped server.xml working
correctly)
|
|
|
Re: eclipse 3.2 tomcat5 server fails to start [message #179873 is a reply to message #179840] |
Mon, 25 September 2006 16:56 |
Larry Isaacs Messages: 1354 Registered: July 2009 |
Senior Member |
|
|
Alan Chandler wrote:
> On Mon, 25 Sep 2006 10:36:40 -0400, Larry Isaacs
> <Larry.Isaacs@sas.com> wrote:
>
>
>> Assuming this still isn't working, I would recommend undoing any
>> previous experiments. Then add commons-logging-api.jar to the classpath
>> as a User Entry in the Eclipse launch configuration. In the absence of
>> attempting anything with JDBC, this should get Tomcat starting normally.
>
> This is what I did try doing - and in the console, I got a message
> that tomcat had terminated - but NO other logging message See ...
In spite of this, I think this is the best approach. Other approaches,
though they may have more log output, may introduce other problems, like
adding commons-logging-api.jar to the Bootstrap Entry. We may have to
dig a bit for clues.
>
>> Alan Chandler wrote:
>>> I now longer crashes out with the class not found error, but instead,
>>> depending on how you edit the classpath either terminates with no error
>>> message (add the jar to the user entry) ...
>
>> Next, an appropriate location for the JDBC driver class should be found.
>> Since this is working in the production environment, where is it found
>> there? Is it in the webapp, or someplace else?
>>
>
> Maybe I am being a little unclear.
>
> I have two computers - one a server, which is my "production"
> (grandiose term for my home network:-) ) environment, running this
> application from for a standard debian etch install, with a manually
> edited server.xml file (in actual fact my whole web site is both
> apache and tomcat - with apache frontending things and handling
> security)
>
> The other is a workstation, running debian unstable on which I have
> also installed my eclipse environment (NOT debian packaged) and
> another copy of tomcat (debian packaged) just for debugging.
>
> My production environment is not involved in any issues now, but is a
> working reference. Its just I found a bug in the application
> "akcmoney" and want to return to my workstation and debug it.
>
> On both systems the postgresql jdbc jar file is stored in
> /usr/share/tomcat5/common/lib
>
> After much trial and error, on my workstation, I have now manually
> loaded up a war file in /var/lib/tomcat5/webapps, manually setup
> /usr/share/tomcat5/conf/Catalina/localhost/akcmoney.xml and started
> tomcat manually. In that case, I can now access the application and
> see that it has successfully read the database. So my key issue seems
> to be how to get tomcat5 to see the context.
>
> So apart from the problem that I cannot get eclipse to start a tomcat
> instance (as explained in my previous message and refered to the very
> top of this message), I am then puzzled as to how to get eclipse to
> create a context in subdirectory of conf. (theoretically I should be
> able to put it into server.xml - but that hasn't worked for reasons I
> don't really understand - but it might be that was when I had a
> freshly downloaded - not debian - copy of tomcat 5.5, and there seems
> to have been a change in 5.5.12 that stopped server.xml working
> correctly)
Thanks for the extra detail. The Tomcat support in Web Tools only uses
Context declarations in server.xml. For all the versions that it
supports, which includes Tomcat 3.2, this is the only way that works in
all of them. I'm not yet sure what can be done in Web Tools 2.0 to
change this. The behavior of these other approaches, such as files in
"conf/Catalina/localhost", has changed over time and would complicate
writing and maintaining such code.
I'll be glad to try to explain why things are behaving the way they are
and how to fix, but the more I have to assume and infer, the less likely
I'll be on target. I have been assuming that "Run modules directly..."
is checked in the Tomcat server editor and that your Tomcat runtime and
server are tied to a version of Tomcat 5.0.x. This last fact was based
the syntax of your datasource declaration which is Tomcat 5.0.x'sh, i.e.
uses child elements for parameters. This has changed in Tomcat 5.5.x
where datasource declarations use attributes to specify parameters. The
next thing to confirm, which may have done already, is to confirm which
version of Tomcat is being used in Eclipse environment.
Cheers,
Larry
|
|
|
Re: eclipse 3.2 tomcat5 server fails to start [message #179881 is a reply to message #179873] |
Mon, 25 September 2006 18:22 |
Alan Chandler Messages: 45 Registered: July 2009 |
Member |
|
|
Larry Isaacs wrote:
> Alan Chandler wrote:
>> On Mon, 25 Sep 2006 10:36:40 -0400, Larry Isaacs
>> <Larry.Isaacs@sas.com> wrote:
>>
>>
>>> Assuming this still isn't working, I would recommend undoing any
>>> previous experiments. Then add commons-logging-api.jar to the
>>> classpath
>>> as a User Entry in the Eclipse launch configuration. In the absence
>>> of attempting anything with JDBC, this should get Tomcat starting
>>> normally.
>>
>> This is what I did try doing - and in the console, I got a message
>> that tomcat had terminated - but NO other logging message See ...
>
> In spite of this, I think this is the best approach. Other
> approaches, though they may have more log output, may introduce other
> problems, like
> adding commons-logging-api.jar to the Bootstrap Entry. We may have to
> dig a bit for clues.
>
Slight delay whilst I travelled from work to home - in the UK round the
M25 solid traffic jams :-(
OK, so I have changed the server classpath to include
commons-logging-api.jar in the user entry
....
Larry Isaacs also wrote:
>
....
>
> I'll be glad to try to explain why things are behaving the way they
> are and how to fix, but the more I have to assume and infer, the less
> likely
> I'll be on target. I have been assuming that "Run modules
> directly..." is checked in the Tomcat server editor and that your
Correct
> Tomcat runtime and
> server are tied to a version of Tomcat 5.0.x. This last fact was
> based the syntax of your datasource declaration which is Tomcat
> 5.0.x'sh, i.e.
Yes - its tomcat 5.0.30
> uses child elements for parameters. This has changed in Tomcat 5.5.x
> where datasource declarations use attributes to specify parameters.
I think that is another reason why I had no success with 5.5 - I hadn't
picked up the change. Anyway, my 5.5 configuration is GONE.
> The next thing to confirm, which may have done already, is to confirm
> which version of Tomcat is being used in Eclipse environment.
>
As above, its 5.0.30
|
|
|
Re: eclipse 3.2 tomcat5 server fails to start [message #179896 is a reply to message #179881] |
Mon, 25 September 2006 19:30 |
Larry Isaacs Messages: 1354 Registered: July 2009 |
Senior Member |
|
|
At this point, I would recommend removing all added projects from the
server and see if it will start and stop without problems. If you have
your datasource(s), or other context configuration, declared in the
server.xml, save a copy of this configuration somewhere (a commented
copy in server.xml would be fine) so this configuration isn't lost when
the projects are removed.
Larry
P.S. I have a Laptop running SUSE 10 that I may be able to attempt
something similar tonight, and see what I run into.
Alan Chandler wrote:
> Larry Isaacs wrote:
>
>> Alan Chandler wrote:
>>> On Mon, 25 Sep 2006 10:36:40 -0400, Larry Isaacs
>>> <Larry.Isaacs@sas.com> wrote:
>>>
>>>
>>>> Assuming this still isn't working, I would recommend undoing any
>>>> previous experiments. Then add commons-logging-api.jar to the
>>>> classpath
>>>> as a User Entry in the Eclipse launch configuration. In the absence
>>>> of attempting anything with JDBC, this should get Tomcat starting
>>>> normally.
>>> This is what I did try doing - and in the console, I got a message
>>> that tomcat had terminated - but NO other logging message See ...
>> In spite of this, I think this is the best approach. Other
>> approaches, though they may have more log output, may introduce other
>> problems, like
>> adding commons-logging-api.jar to the Bootstrap Entry. We may have to
>> dig a bit for clues.
>>
>
> Slight delay whilst I travelled from work to home - in the UK round the
> M25 solid traffic jams :-(
>
> OK, so I have changed the server classpath to include
> commons-logging-api.jar in the user entry
>
> ...
>
> Larry Isaacs also wrote:
> ...
>> I'll be glad to try to explain why things are behaving the way they
>> are and how to fix, but the more I have to assume and infer, the less
>> likely
>> I'll be on target. I have been assuming that "Run modules
>> directly..." is checked in the Tomcat server editor and that your
>
> Correct
>
>> Tomcat runtime and
>> server are tied to a version of Tomcat 5.0.x. This last fact was
>> based the syntax of your datasource declaration which is Tomcat
>> 5.0.x'sh, i.e.
>
> Yes - its tomcat 5.0.30
>
>> uses child elements for parameters. This has changed in Tomcat 5.5.x
>> where datasource declarations use attributes to specify parameters.
>
> I think that is another reason why I had no success with 5.5 - I hadn't
> picked up the change. Anyway, my 5.5 configuration is GONE.
>
>> The next thing to confirm, which may have done already, is to confirm
>> which version of Tomcat is being used in Eclipse environment.
>>
>
> As above, its 5.0.30
>
>
>
>
|
|
| | | | |
Re: eclipse 3.2 tomcat5 server fails to start [message #181754 is a reply to message #179936] |
Fri, 20 October 2006 05:08 |
Eclipse User |
|
|
|
Originally posted by: jaguar_fender.yahoo.com
Larry Isaacs wrote:
> Alan Chandler wrote:
>> Larry Isaacs wrote:
>>
>>> I'll wait to hear from you again. A regular Tomcat binary shouldn't
>>> have
>>> problems. There could be oddities with the debian package that are
>>> causing issues with Web Tools. It isn't one I've looked into.
>>>
>>
>> Just one thought I have been having is whether its a file permissions
>> problem. I just tried the same thing with the sysdeo tomcat plugin,
>> and it too needed commons-logging-api.jar to be specified as an
>> additional element for tomcat's classpath. When it tried to start
>> tomcat it failed with lots of permission denied writing
>> to /usr/share/tomcat5/work/... directories.
>
> This is one of the advantages of the separate instance approach. The
> Tomcat server in Web Tools doesn't need permission for this "work"
> directory, and others. I don't recall having permission issues with
> SUSE 10 and its packaged Tomcat if "Run modules directly..." was
> checked. Only if it was unchecked did I run into this issue.
I experience the same problem as Alan Chandler. Does that means there's
no viable solution for using Debian Tomcat5 package and start it in Eclipse?
PS. i use Eclipse 3.2 (download) + Tomcat5 package on Ubuntu
any suggestions?
Thx in advance.
|
|
| |
Goto Forum:
Current Time: Thu Sep 26 06:13:00 GMT 2024
Powered by FUDForum. Page generated in 0.08483 seconds
|