Return-Path: Mailing-List: contact commons-httpclient-dev-help@jakarta.apache.org; run by ezmlm Delivered-To: mailing list commons-httpclient-dev@jakarta.apache.org Received: (qmail 79605 invoked from network); 2 Jun 2003 16:01:08 -0000 Received: from mail.bearingpoint.com (HELO KCCXOEX10.corp.kpmgconsulting.com) (57.80.136.22) by daedalus.apache.org with SMTP; 2 Jun 2003 16:01:08 -0000 Received: from kccxoex06.corp.kpmgconsulting.com ([57.80.136.6]) by KCCXOEX10.corp.kpmgconsulting.com with Microsoft SMTPSVC(5.0.2195.5329); Mon, 2 Jun 2003 16:02:53 +0000 x-mimeole: Produced By Microsoft Exchange V6.0.6249.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Subject: RE: [REPORT] 2.0 beta 1 and Tomcat 4 Date: Mon, 2 Jun 2003 17:01:08 +0100 Message-ID: <825BF35A92B3F0479CC164ECBBE9376E0D482C@kccxoex06.corp.kpmgconsulting.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [REPORT] 2.0 beta 1 and Tomcat 4 Thread-Index: AcMpF4hn3uOPk8KRQSiTsbX2GetaAwACFjfQ From: "Kalnichevski, Oleg" To: "Commons HttpClient Project" X-OriginalArrivalTime: 02 Jun 2003 16:02:53.0796 (UTC) FILETIME=[6CD2EA40:01C32920] X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N Ias, Thanks for such a detailed description of the problem. We'll look into = it and fix those things that can be fixed on the HttpClient side Cheers Oleg -----Original Message----- From: Ias [mailto:iasandcb@apache-korea.org] Sent: Monday, June 02, 2003 16:54 To: commons-httpclient-dev@jakarta.apache.org Subject: [REPORT] 2.0 beta 1 and Tomcat 4 The current 2.0 beta 1 distribution doesn't work with Tomcat 4.x. The error message is Catalina.start: LifecycleException: Missing optional package Extension[junit, implementationURL=3Dhttp://www.ibiblio.org/maven/junit/jars/junit-3.8.1.j= a r, implementationVersion=3D3.8.1] LifecycleException: Missing optional package Extension[junit, implementationURL=3Dhttp://www.ibiblio.org/maven/junit/jars/junit-3.8.1.j= a r, implementationVersion=3D3.8.1] at org.apache.catalina.loader.WebappLoader.validatePackages(WebappLoader.ja va:1244) at org.apache.catalina.loader.WebappLoader.start(WebappLoader.java:645) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1100) at org.apache.catalina.core.StandardContext.start(StandardContext.java:3345 ) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) at org.apache.catalina.core.StandardHost.start(StandardHost.java:614) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:343) at org.apache.catalina.core.StandardService.start(StandardService.java:388) at org.apache.catalina.core.StandardServer.start(StandardServer.java:506) at org.apache.catalina.startup.Catalina.start(Catalina.java:781) at org.apache.catalina.startup.Catalina.execute(Catalina.java:681) at org.apache.catalina.startup.Catalina.process(Catalina.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav a:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor Impl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243) I looked into the stack trace and found that there needed to be some modification toward the associated jars-commons-httpclient-2.0-beta1.jar, junit-3.8.1.jar, and commons-logging-1.0.jar. First, Tomcat's org.apache.catalina.loader.Extension.getRequired distinguishes required libraries by delimiter not "," but " ". Therefore,=20 Extension-List: junit,commons-logging should be Extension-List: junit commons-logging in MANIFEST.MF of httpclient jar. (http://java.sun.com/j2se/1.4.1/docs/guide/extensions/versioning.html proves the usage.) Next, since Tomcat's resolving algorithm for required libraries is quite strict as implemented in o.a.c.l.WebappLoader.validatePackages(), Specification-Version and Implementation-Vendor-Id of the extensions should be defined like this: junit-Extension-Name: junit junit-Specification-Version: 3.8.1 junit-Implementation-Vendor-Id:=20 junit-Implementation-Version: 3.8.1 junit-Implementation-URL: http://www.ibiblio.org/maven/junit/jars/junit-3.8.1.jar commons-logging-Extension-Name: org.apache.commons.logging commons-logging-Specification-Version: 1.0 commons-logging-Implementation-Vendor-Id:=20 commons-logging-Implementation-Version: 1.0.2 commons-logging-Implementation-URL: http://www.ibiblio.org/maven/commons-logging/jars/commons-logging-1.0.2. jar In accordance with the above addition, MANIFEST of junit and commons-logging also should be updated to comply with commons-httpclient. Manifest-Version: 1.0 Created-By: Ant 1.4.1 Extension-Name: junit Specification-Version: 3.8.1 Implementation-Vendor-Id:=20 Implementation-Version: 3.8.1 Manifest-Version: 1.0 Created-By: Apache Ant 1.5.1beta1 Extension-Name: org.apache.commons.logging Specification-Vendor: Apache Software Foundation Specification-Version: 1.0 Implementation-Vendor: Apache Software Foundation Implementation-Vendor-Id:=20 Implementation-Version: 1.0.2 Class-Path: log4j.jar log4j-core.jar Otherwise, you can figure out this conflict by simply removing Extension-List and its followings. The attached files are completely updated MANIFESTs. Again, I'd like to remind you that this issue is now only proved to be relevant with Tomcat and hence am not sure it can cause a problem under other platforms. (I saw my colleague using http-client 2.0 beta 1 on his dos prompt without trouble even though his classpath didn't include junit.jar.) Thanks for this great work, http-client 2.0, Ias. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D Lee, Changshin (Korean name) Ias (International name) Company Web Site: http://www.tmax.co.kr Personal Web Site: http://www.iasandcb.pe.kr ---------------------------------------------------------