tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher Schultz <>
Subject Re: What is `tomcat7/common/` for?
Date Wed, 13 Mar 2019 21:47:14 GMT
Hash: SHA256


On 3/13/19 9:22 AM, Joel Griffith wrote:
> On Tue, Mar 12, 2019 at 9:01 PM Christopher Schultz < 
>> wrote:
> Mark,
> On 3/12/19 14:39, Mark Thomas wrote:
>>>> On 12/03/2019 14:42, Christopher Schultz wrote:
>>>>> Joel,
>>>>> On 3/12/19 09:43, Joel Griffith wrote:
>>>>>> I'm upgrading a webapp server from Tomcat 7 to Tomcat 8
>>>>>> on Ubuntu 16.04. At installation, Tomcat 7 creates a
>>>>>> directory `/var/lib/tomcat7/common/`. When Tomcat 8 is
>>>>>> installed, however, the `/var/lib/tomcat8/` directory it
>>>>>> creates does not include a `common/` directory, and the
>>>>>> deployment script complains that it isn't there.
>>>>>> build.xml:129: /var/lib/tomcat8/common/lib does not
>>>>>> exist.
>>>>> This must be a deployment script that is managed by neither
>>>>> the Tomcat project nor the Ubuntu package maintainers. You
>>>>> will need to update it.
>>>>>> I've been searching for a day and have found exactly
>>>>>> zero documentation on this, including on the official 8.0
>>>>>> migration guide (
>>>>> You are right; it isn't mentioned. That should be added to
>>>>> the migration guide.
>>>> Is is practical to try and cover changes in file system
>>>> layout for distributions we don't control?
> No, but there is no mention of the classloader re-organization in
> the migration guide.
> Oh, hmm. The reason it's not in there, or in the Tomcat 7
> migration guide... is because this change was made in Tomcat *6*,
> and it *is* in the migration guide... for Tomcat 6.
> So, never mind.
> For some reason, I thought this change was made more recently, but
> I guess not.
> Joel, it looks like your distribution was (still?) using that 
> directory in Tomcat 7 even thought Tomcat hasn't shipped that way
> for ... a long time. I wonder if your deployment script was
> accomplishing anything by touching that directory in the first
> place.
> Okay, things are starting to make a bunch more sense now, thanks.
>> I think it was accomplishing something; tomcat7/common/lib/
>> contained a bunch of .jar files that looked like standard Tomcat
>> installation files (tomcat7-websocket.jar,
>> tomcat-catalina-7.0.68.jar, etc.).  If I switch directories in
>> the deployment script to tomcat8/lib/, which is empty, javac 
>> complains that it can't find the files to compile.  It looks like
>> I'm going to need to go through /usr/share/java/ and find tomcat8
>> versions of all of the .jar files in tomcat7/common/lib/ and
>> symlink those to tomcat8/lib/, unless someone knows a better
>> way.

If you have a build script that relies on a Tomcat installation being
around, you should probably fix it. Since you are using ant (as
opposed to Maven), you'll want to bundle the servlet-api.jar file with
your application -- and make sure that you remove the JAR file from
any application artifacts that you produce -- like a WAR file.

Don't build against Tomcat. Build against individual libraries.

- -chris
Comment: GPGTools -
Comment: Using GnuPG with Thunderbird -


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message