harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vasily Zakharov (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-1259) NoClassDefFoundError while working with MX4J loggers
Date Tue, 23 Oct 2007 16:44:50 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-1259?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12537064
] 

Vasily Zakharov commented on HARMONY-1259:
------------------------------------------

This issue no longer affects Geronimo operation, and it clearly isn't a bug in Harmony.

So I'm suggesting to close it as WONTFIX. Possible alternatives may be filing an issue against
MX4J or putting commons-logging to Harmony bootclasspath.

Any considerations?


> NoClassDefFoundError while working with MX4J loggers
> ----------------------------------------------------
>
>                 Key: HARMONY-1259
>                 URL: https://issues.apache.org/jira/browse/HARMONY-1259
>             Project: Harmony
>          Issue Type: Bug
>          Components: App-Oriented Bug Reports
>            Reporter: Nellya Udovichenko
>            Priority: Minor
>         Attachments: MX4JLoggerTest.java
>
>
> MX4J has the logging system that allows redirecting the log calls to Commons Logging
or Log4J systems and mx4j.jar file is included to the bootclasspath.
> However, there are no jar files of Commons Logging (commons-logging.jar) and Log4J (log4j.jar)
projects in Harmony bootclasspath.
> Therefore, NoClassDefFoundError occurs while using MX4J logging system. This problem
appears during Geronimo launching with Harmony.
> Below is the localized test case for easy bug reproducing:
> -----------------------------------------------------------------------------------------------------------------------------------------------------
> import java.lang.reflect.Method;
> import java.util.ArrayList;
> import javax.management.MBeanServer;
> import javax.management.MBeanServerFactory;
> public class MX4JLoggerTest {
> 	public static void main(String[] args) {
> 		try {
> 			Class cl = Class.forName("mx4j.log.Log");
> 			Class clParam = Class.forName("mx4j.log.Logger");
> 			Method method = cl.getDeclaredMethod("redirectTo", new Class[] {clParam});
> 			clParam = Class.forName("mx4j.log.CommonsLogger");
> 			method.invoke(null, new Object[] {clParam.newInstance()});
> 		} catch (ClassNotFoundException e) {
> 			System.out.println("MX4J classes aren't found in JDK");
> 		} catch (Exception e) {
> 			System.out.println("Exception: it can't force MX4J to use commons.logging classes");
> 		}
> 		try {
> 			ArrayList servers = MBeanServerFactory.findMBeanServer("test");
> 			System.out.println("PASSED");
> 		} catch (NoClassDefFoundError e) {
> 			System.out.println("FAILED with exception:");
> 			e.printStackTrace();
> 		} catch (Exception e) {
> 			System.out.println("PASSED with exception");
> 		}
> 	}
> }
> -------------------------------------------------------------------------------------------------------------------------------------------------------
> Test output.
> Harmony with commons-logging.jar added to classpath (not bootclasspath):
> C:\>java -cp C:\commons-logger.jar; MX4JLoggerTest
> FAILED with exception:
> java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
>         at mx4j.log.Log.createLogger(Log.java:211)
>         at mx4j.log.Log.getLogger(Log.java:180)
>         at javax.management.MBeanServerFactory.getLogger(MBeanServerFactory.java:34)
>         at javax.management.MBeanServerFactory.findMBeanServer(MBeanServerFactory.java:105)
>         at MX4JLoggerTest.main(MX4JloggerTest.java:24)
> Harmony with commons-logging.jar added to bootclasspath:
> C:\>java MX4JLoggerTest
> PASSED with exception

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message