[
https://issues.apache.org/jira/browse/SOLR-1675?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Noble Paul closed SOLR-1675.
----------------------------
Resolution: Invalid
> Placing Custom Transform in example/lib directory does not work properly
> ------------------------------------------------------------------------
>
> Key: SOLR-1675
> URL: https://issues.apache.org/jira/browse/SOLR-1675
> Project: Solr
> Issue Type: Bug
> Components: contrib - DataImportHandler
> Affects Versions: 1.4
> Reporter: Matt Inger
> Assignee: Noble Paul
> Priority: Blocker
> Attachments: SqlArrayTransformer.java
>
>
> I have created a Custom transformer for transforming a javax.sql.Array
> instance into a java.lang.Object[] value, and placed it in the example/lib
> directory. I then configured the transformer appropriately in my
> db-data-config.xml:
> {code}
> <entity ...
> transformer="org.apache.solr.handler.dataimport.SqlArrayTransformer"
> {code}
> However, when i try to actually index my documents, i get the following error
> in the console:
> {code}
> org.apache.solr.handler.dataimport.DataImportHandlerException:
> java.lang.NoClassDefFoundError: org/apache/solr/handler/dataimport/Transformer
> at
> org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:424)
> at
> org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:242)
> at
> org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:180)
> at
> org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:331)
> at
> org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:389)
> at
> org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:370)
> Caused by: java.lang.NoClassDefFoundError:
> org/apache/solr/handler/dataimport/Transformer
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
> at
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
> at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> at
> org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:375)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
> at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:579)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
> at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:579)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:242)
> at
> org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:357)
> at
> org.apache.solr.handler.dataimport.DocBuilder.loadClass(DocBuilder.java:728)
> at
> org.apache.solr.handler.dataimport.EntityProcessorWrapper.loadTransformers(EntityProcessorWrapper.java:103)
> {code}
> It seems there is some issue with the classloader going on here, and the only
> solution to this problem seems to be to find the exploded web application in
> the "work" directory, and place the .jar file for my transformer in the
> WEB-INF/lib directory there. My guess is that the classloader for the custom
> transformer class is not using the web application's class loader as it's
> parent classloader, and as a result, the Transformer class can't be found.
> I believe I tried this in 1.5-dev as well and had no success either.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.