Jump to content
  • Null pointer exception when designer opening - Eclipse


    acs_x
    Assigned User chicuslavic
    CategoryBug report
    PriorityHigh
    ReproducibilityAlways
    ResolutionNot Fixable
    SeverityCritical
    StatusClosed
    Versionv6.2.0

    Hi, my problem is that when jasperreports library is instaled in my project the designer does not open. The exception thrown is listed bellow (pom.xml attached, maven project):

     

    java.lang.LinkageError: loader constraint violation: when resolving method "org.apache.log4j.spi.LoggingEvent.(Ljava/lang/String;Lorg/apache/log4j/Category;Lorg/apache/log4j/Priority;Ljava/lang/Object;Ljava/lang/Throwable;)V" the class loader (instance of java/net/FactoryURLClassLoader) of the current class, org/apache/log4j/Category, and the class loader (instance of org/eclipse/osgi/internal/loader/EquinoxClassLoader) for resolved class, org/apache/log4j/spi/LoggingEvent, have different Class objects for the type apache/log4j/Category;Lorg/apache/log4j/Priority;Ljava/lang/Object;Ljava/lang/Throwable;)V used in the signature

    at org.apache.log4j.Category.forcedLog(Category.java:391)

    at org.apache.log4j.Category.log(Category.java:856)

    at org.slf4j.impl.Log4jLoggerAdapter.log(Log4jLoggerAdapter.java:595)

    at org.apache.commons.logging.impl.SLF4JLocationAwareLog.warn(SLF4JLocationAwareLog.java:179)

    at net.sf.jasperreports.engine.part.PartComponentsEnvironment.findBundles(PartComponentsEnvironment.java:118)

    at net.sf.jasperreports.engine.part.PartComponentsEnvironment.getCachedBundles(PartComponentsEnvironment.java:101)

    at net.sf.jasperreports.engine.part.PartComponentsEnvironment.getBundles(PartComponentsEnvironment.java:89)

    at net.sf.jasperreports.engine.xml.JRReportSaxParserFactory.getSchemaLocations(JRReportSaxParserFactory.java:124)

    at net.sf.jasperreports.engine.xml.BaseSaxParserFactory.configureParser(BaseSaxParserFactory.java:162)

    at net.sf.jasperreports.engine.xml.BaseSaxParserFactory.createParser(BaseSaxParserFactory.java:117)

    at net.sf.jasperreports.eclipse.builder.JasperReportCompiler.createDigester(JasperReportCompiler.java:253)

    at net.sf.jasperreports.eclipse.builder.JasperReportCompiler.loadJasperDesign(JasperReportCompiler.java:242)

    at net.sf.jasperreports.eclipse.builder.JasperReportCompiler.compileReport(JasperReportCompiler.java:87)

    at com.jaspersoft.studio.data.jrdsprovider.JRDSProviderFieldsProvider.getFields(JRDSProviderFieldsProvider.java:58)

    at com.jaspersoft.studio.data.jrdsprovider.JrdsProviderDataAdapterDescriptor.getFields(JrdsProviderDataAdapterDescriptor.java:60)

    at com.jaspersoft.studio.property.dataset.dialog.DataQueryAdapters.doGetFields(DataQueryAdapters.java:396)

    at com.jaspersoft.studio.data.designer.AQueryDesignerContainer$1.run(AQueryDesignerContainer.java:53)

    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)


    Attachments: pom.xml

    User Feedback

    Recommended Comments

    I have exactly the same. Log excerpt which appears when launching eclipse from the console:

     

    log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "org.apache.log4j.Appender" variable.

    log4j:ERROR The class "org.apache.log4j.Appender" was loaded by

    log4j:ERROR [java.net.FactoryURLClassLoader@33ccb7e7] whereas object of type

    log4j:ERROR "org.apache.log4j.ConsoleAppender" was loaded by [org.eclipse.osgi.internal.loader.EquinoxClassLoader@12a7f4d[org.apache.log4j:1.2.15.v201012070815(id=58)]].

    log4j:ERROR Could not instantiate appender named "console".

    log4j:ERROR A "org.apache.hadoop.log.metrics.EventCounter" object is not assignable to a "org.apache.log4j.Appender" variable.

    log4j:ERROR The class "org.apache.log4j.Appender" was loaded by

    log4j:ERROR [java.net.FactoryURLClassLoader@33ccb7e7] whereas object of type

    log4j:ERROR "org.apache.hadoop.log.metrics.EventCounter" was loaded by [org.eclipse.osgi.internal.loader.EquinoxClassLoader@428f924c[com.jaspersoft.studio.data.hive:6.2.0.final(id=1263)]].

    log4j:ERROR Could not instantiate appender named "EventCounter".

    log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "org.apache.log4j.Appender" variable.

    log4j:ERROR The class "org.apache.log4j.Appender" was loaded by

    log4j:ERROR [java.net.FactoryURLClassLoader@33ccb7e7] whereas object of type

    log4j:ERROR "org.apache.log4j.ConsoleAppender" was loaded by [org.eclipse.osgi.internal.loader.EquinoxClassLoader@12a7f4d[org.apache.log4j:1.2.15.v201012070815(id=58)]].

    log4j:ERROR Could not instantiate appender named "console".

    log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "org.apache.log4j.Appender" variable.

    log4j:ERROR The class "org.apache.log4j.Appender" was loaded by

    log4j:ERROR [java.net.FactoryURLClassLoader@33ccb7e7] whereas object of type

    log4j:ERROR "org.apache.log4j.ConsoleAppender" was loaded by [org.eclipse.osgi.internal.loader.EquinoxClassLoader@12a7f4d[org.apache.log4j:1.2.15.v201012070815(id=58)]].

    log4j:ERROR Could not instantiate appender named "console".

     

    Link to comment
    Share on other sites

    Changed Resolution from Open to Not Fixable

    Changed Status from New to Closed

    Changed Assigned User from - to @chicuslavic


    The problem is we have JasperReports library with dependencies (log4j) in our eclipse plugin. We have to because we reuse objects from JasperReports Library. You add the library and dependencies to your project. So we have conflict of libraries. I don't know a way to fix it, because designer depends on JasperReports, it's very tight. I think a workaround, best practice how to better organize your project is to have a separate project for reports. Here you create a JasperReports project, and don't add your libraries, you don't need it. You add jasper reports libraries to your java project where you have your application.
    Link to comment
    Share on other sites


×
×
  • Create New...