Okay, I haven't used shared libraries in Tomcat lib, that may work fine. The nice thing about an ear is that it is portable...all the wars/shared libs are in one file.
-Dave On Tue, Mar 9, 2010 at 12:05 PM, Ron Wheeler <[email protected] > wrote: > Good points. > The dependency management was mentioned earlier. > Perhaps my staff was right on that one :-) . I am being outvoted 2-0. > > See below for my comments. > > Ron > > > David Hoffer wrote: > >> Ron, >> >> A couple of thoughts come to mind. Dependency management will go a long >> way >> towards solving your version issue (and also custom excludes rules). >> > We use excludes in the library poms to exclude older versions of transitive > dependencies of libraries that we use. > > Also >> since it sounds like you have lots of wars, could you create an ear using >> it's shared lib folder? Maven has good support for that too. You could >> deploy in JBoss or suitable container. >> >> > We are using Spring and Tomcat rather than JBoss so I think that we need > WAR files. These are deployed as separate projects. They are currently on > the same machine as the main portal Engine (Jetspeed) but could be deployed > on Tomcat on another server and used remotely if we need that level of > scalability. > > We do have our own sharable library jars that we build in their own > projects and deploy as shared libraries in the Tomcat lib. > > > -Dave >> >> On Tue, Mar 9, 2010 at 7:52 AM, Ron Wheeler >> <[email protected]>wrote: >> >> >> >>> I am interested in getting some feedback on a route that I am leading my >>> group down. >>> The prevailing opinions range from "innovative" to "no one else is crazy >>> enough to do it like that". >>> >>> The project is a portal (http://www.napaexcellence.ca) that consists of >>> many separate WAR files tied together in a Jetspeed portal. >>> The project is built on Spring, Hibernate, MySQL and Tomcat with Jetspeed >>> providing access to portal information about users, groups, roles, etc. >>> The >>> webservices use CXF. >>> The project depends on about 60 third party jar files. Most of them >>> shared >>> by several projects. >>> >>> We started out with every project having its own libraries but have >>> gradually moved to sharing libraries in Tomcat's shared library folders. >>> We are moving from Tomcat 5.5 to Tomcat 6 so sharing has become a bit >>> easier. >>> >>> I am trying to control the versions of libraries in use since multiple >>> versions of the same library cause a great deal of grief from time to >>> time. >>> >>> I have come up with the idea of using maven POM files more intensively to >>> build the shared libraries. >>> >>> I have created a hierarchy of POM files. >>> >>> There is a pom describing the Tomcat and jsp libraires. The Tomcat >>> libraries are of course provided and the POM creates a jar containing the >>> 3 >>> other jars. >>> Hibernate and MySQL are described in a POM (added in jtds since we also >>> need to hit a MS-SQL database in some applications) >>> Spring, CXF, JSF and Jetspeed each have their own POM >>> There is a big POM of the miscellaneous libraries with 20-30 jar files >>> identified. >>> There are POM files that pull together common combinations such as >>> Tomcat, >>> Spring, Hibernate, MySQL through transitive dependency on the individual >>> POMs. >>> >>> The biggest task is to properly identify the versions in use and set up >>> the >>> exclusions for third party dependencies so that only 1 copy of libraries >>> in >>> transitive dependencies get included (commons-*, log4j, velocity, etc.). >>> >>> My goal is to get everyone using the same version of things to build >>> their >>> portlets. >>> I also want to simplify the POMs of the individual projects to make new >>> projects easier to start. >>> I expect that we will get a bit of a performance improvement on startup >>> since fewer files will be opened to get the jars required to run the >>> whole >>> portal. Each project WAR file will also be much smaller since it will >>> only >>> carry its own code. >>> >>> As an aside, running the Nexus repository has been a really great help in >>> getting this approach organized. >>> >>> Any comments would be appreciated (specially those in favour of my >>> approach >>> ;-) ). >>> >>> Thanks to everyone who contributes to the forum. It is a great place to >>> get >>> advice. >>> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >>> >>> >>> >> >> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
