01: /*
02: * $HeadURL: https://svn.apache.org/repos/asf/httpcomponents/httpcore/tags/4.0-beta1/module-main/src/examples/org/apache/http/examples/PrintVersionInfo.java $
03: * $Revision: 554888 $
04: * $Date: 2007-07-10 11:46:36 +0200 (Tue, 10 Jul 2007) $
05: *
06: * ====================================================================
07: * Licensed to the Apache Software Foundation (ASF) under one
08: * or more contributor license agreements. See the NOTICE file
09: * distributed with this work for additional information
10: * regarding copyright ownership. The ASF licenses this file
11: * to you under the Apache License, Version 2.0 (the
12: * "License"); you may not use this file except in compliance
13: * with the License. You may obtain a copy of the License at
14: *
15: * http://www.apache.org/licenses/LICENSE-2.0
16: *
17: * Unless required by applicable law or agreed to in writing,
18: * software distributed under the License is distributed on an
19: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
20: * KIND, either express or implied. See the License for the
21: * specific language governing permissions and limitations
22: * under the License.
23: * ====================================================================
24: *
25: * This software consists of voluntary contributions made by many
26: * individuals on behalf of the Apache Software Foundation. For more
27: * information on the Apache Software Foundation, please see
28: * <http://www.apache.org/>.
29: *
30: */
31:
32: package org.apache.http.examples;
33:
34: import org.apache.http.util.VersionInfo;
35:
36: /**
37: * Prints version information for debugging purposes.
38: * This can be used to verify that the correct versions of the
39: * HttpComponent JARs are picked up from the classpath.
40: *
41: *
42: * <!-- empty lines above to avoid 'svn diff' context problems -->
43: * @version $Revision: 554888 $
44: */
45: public class PrintVersionInfo {
46:
47: /** A default list of module packages. */
48: public final static String[] MODULE_LIST = { "org.apache.http", // HttpCore (main)
49: "org.apache.http.nio", // HttpNIO
50: "org.apache.http.nio.ssl", // HttpNIOSSL
51: "org.apache.http.conn", // HttpConn
52: "org.apache.http.auth", // HttpAuth
53: "org.apache.http.cookie", // HttpCookie
54: "org.apache.http.client", // HttpClient
55: };
56:
57: /**
58: * Prints version information.
59: *
60: * @param args command line arguments. Leave empty to print version
61: * information for the default packages. Otherwise, pass
62: * a list of packages for which to get version info.
63: */
64: public static void main(String args[]) {
65:
66: String[] pckgs = (args.length > 0) ? args : MODULE_LIST;
67: VersionInfo[] via = VersionInfo.loadVersionInfo(pckgs, null);
68: System.out
69: .println("version info for thread context classloader:");
70: for (int i = 0; i < via.length; i++)
71: System.out.println(via[i]);
72:
73: System.out.println();
74:
75: // if the version information for the classloader of this class
76: // is different from that for the thread context classloader,
77: // there may be a problem with multiple versions in the classpath
78:
79: via = VersionInfo.loadVersionInfo(pckgs, PrintVersionInfo.class
80: .getClassLoader());
81: System.out.println("version info for static classloader:");
82: for (int i = 0; i < via.length; i++)
83: System.out.println(via[i]);
84: }
85: }
|