🎉Community Raffle - Win $25

An exclusive raffle opportunity for active members like you! Complete your profile, answer questions and get your first accepted badge to enter the raffle.
Join and Win

"[ClassLoader] java.lang.NoClassDefFoundError"

User: "mansoorbahrian"
New Altair Community Member
Updated by Jocelyn
Dear group members,

I am developing a plug-in which uses linear algebra Fortran packages (like LAPACK, blas etc.) (from f2j). The problem is blas.jar (namespace: org.netlib.blas) is also referenced in RapidMiner's main project. The problem is the same namespace also exist in my plug-in and I am using the class "org.netlib.blass.DGEMM" and this class internally calls "org.netlib.util.MatConv", both of the classes (DGEMM, MatConv) exist in my plug-in.jar.

Most likely the problem is because of class loader, because the CurrentThread is referring to "org.netlib.blass.DGEMM" in blas.jar included in the main RapidMiner project and not the "org.netlib.blass.DGEMM" in my plug-in. I even try to set the CurrentThread to the current class loader e.g.  processor.class in my plug-in but it did not work out.

Please have a look to the exception output, looking forward to get some feedback.

Kind Regards
Mansoor



2011-02-09 19:05:51 SEVERE: Process failed: org/netlib/util/MatConv
(ProcessThread.run())
  java.lang.NoClassDefFoundError: org/netlib/util/MatConv
      org.netlib.blas.DGEMM.DGEMM(DGEMM.java:170)
      de.dfki.km.semweb.CA.CorrespondenceAnalysis.matrixMult(CorrespondenceAnalysis.java:281)
      de.dfki.km.semweb.CA.CorrespondenceAnalysis.matrixDecomposition_train(CorrespondenceAnalysis.java:99)
      de.dfki.km.semweb.CA.PreprocessingCA.FCAProcessing(PreprocessingCA.java:242)
      de.dfki.km.semweb.CA.PreprocessingCA.startFCAProcessing(PreprocessingCA.java:220)
      de.dfki.km.semweb.Operator.CA.CorrespondenceAnalysisProcessor.processDimReduction_train(CorrespondenceAnalysisProcessor.java:1107)
      de.dfki.km.semweb.Operator.CA.CorrespondenceAnalysisProcessor.addRowPrincipalMetrics_train(CorrespondenceAnalysisProcessor.java:679)
      de.dfki.km.semweb.Operator.CA.CorrespondenceAnalysisProcessor.doWork(CorrespondenceAnalysisProcessor.java:345)
      de.dfki.km.semweb.Operator.CA.CorrespondenceAnalysisProcessor_train.doWork(CorrespondenceAnalysisProcessor_train.java:21)
      com.rapidminer.operator.Operator.execute(Operator.java:768)
      com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:51)
      com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:709)
      com.rapidminer.operator.validation.ValidationChain.executeLearner(ValidationChain.java:202)
      com.rapidminer.operator.validation.ValidationChain.learn(ValidationChain.java:288)
      com.rapidminer.operator.validation.XValidation.performIteration(XValidation.java:140)
      com.rapidminer.operator.validation.XValidation.estimatePerformance(XValidation.java:133)
      com.rapidminer.operator.validation.ValidationChain.doWork(ValidationChain.java:261)
      com.rapidminer.operator.Operator.execute(Operator.java:768)
      com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:51)
      com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:709)
      com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:368)
      com.rapidminer.operator.Operator.execute(Operator.java:768)
      com.rapidminer.Process.run(Process.java:863)
      com.rapidminer.Process.run(Process.java:770)
      com.rapidminer.Process.run(Process.java:765)
      com.rapidminer.Process.run(Process.java:755)
      com.rapidminer.gui.ProcessThread.run(ProcessThread.java:65)
Caused by:
  java.lang.ClassNotFoundException: org.netlib.util.MatConv
      java.net.URLClassLoader$1.run(URLClassLoader.java:202)
      java.security.AccessController.doPrivileged(Native Method)
      java.net.URLClassLoader.findClass(URLClassLoader.java:190)
      java.lang.ClassLoader.loadClass(ClassLoader.java:307)
      sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
      java.lang.ClassLoader.loadClass(ClassLoader.java:248)
      org.netlib.blas.DGEMM.DGEMM(DGEMM.java:170)
      de.dfki.km.semweb.CA.CorrespondenceAnalysis.matrixMult(CorrespondenceAnalysis.java:281)
      de.dfki.km.semweb.CA.CorrespondenceAnalysis.matrixDecomposition_train(CorrespondenceAnalysis.java:99)
      de.dfki.km.semweb.CA.PreprocessingCA.FCAProcessing(PreprocessingCA.java:242)
      de.dfki.km.semweb.CA.PreprocessingCA.startFCAProcessing(PreprocessingCA.java:220)
      de.dfki.km.semweb.Operator.CA.CorrespondenceAnalysisProcessor.processDimReduction_train(CorrespondenceAnalysisProcessor.java:1107)
      de.dfki.km.semweb.Operator.CA.CorrespondenceAnalysisProcessor.addRowPrincipalMetrics_train(CorrespondenceAnalysisProcessor.java:679)
      de.dfki.km.semweb.Operator.CA.CorrespondenceAnalysisProcessor.doWork(CorrespondenceAnalysisProcessor.java:345)
      de.dfki.km.semweb.Operator.CA.CorrespondenceAnalysisProcessor_train.doWork(CorrespondenceAnalysisProcessor_train.java:21)
      com.rapidminer.operator.Operator.execute(Operator.java:768)
      com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:51)
      com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:709)
      com.rapidminer.operator.validation.ValidationChain.executeLearner(ValidationChain.java:202)
      com.rapidminer.operator.validation.ValidationChain.learn(ValidationChain.java:288)
      com.rapidminer.operator.validation.XValidation.performIteration(XValidation.java:140)
      com.rapidminer.operator.validation.XValidation.estimatePerformance(XValidation.java:133)
      com.rapidminer.operator.validation.ValidationChain.doWork(ValidationChain.java:261)
      com.rapidminer.operator.Operator.execute(Operator.java:768)
      com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:51)
      com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:709)
      com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:368)
      com.rapidminer.operator.Operator.execute(Operator.java:768)
      com.rapidminer.Process.run(Process.java:863)
      com.rapidminer.Process.run(Process.java:770)
      com.rapidminer.Process.run(Process.java:765)
      com.rapidminer.Process.run(Process.java:755)
      com.rapidminer.gui.ProcessThread.run(ProcessThread.java:65)
2011-02-09 19:05:51 SEVERE: Here:          Process[1] (Process)
          subprocess 'Main Process'
            +- Read RDF[0] (Read RDF)
            +- Set Role[0] (Set Role)
            +- Filter Examples[0] (Filter Examples)
            +- Retrieve[1] (Retrieve)
            +- Validation[1] (X-Validation)
          subprocess 'Training'
      ==>      |  +- Train Correspondence Analysis[1] (Train
Correspondence Analysis)
                |  +- Multiply[0] (Multiply)
                |  +- Distance Matrix[0] (Distance Matrix)
                |  +- Naive Bayes[0] (Naive Bayes)
          subprocess 'Testing'
                  +- Test Correspondence Analysis[0] (Test Correspondence
Analysis)
                  +- Apply Model[0] (Apply Model)
                  +- Performance[0] (Performance) (ProcessThread.run())
2011-02-09 19:05:51 SEVERE: org/netlib/util/MatConv
(SwingTools.showFinalErrorMessage())
  java.lang.NoClassDefFoundError: org/netlib/util/MatConv
      org.netlib.blas.DGEMM.DGEMM(DGEMM.java:170)
      de.dfki.km.semweb.CA.CorrespondenceAnalysis.matrixMult(CorrespondenceAnalysis.java:281)
      de.dfki.km.semweb.CA.CorrespondenceAnalysis.matrixDecomposition_train(CorrespondenceAnalysis.java:99)
      de.dfki.km.semweb.CA.PreprocessingCA.FCAProcessing(PreprocessingCA.java:242)
      de.dfki.km.semweb.CA.PreprocessingCA.startFCAProcessing(PreprocessingCA.java:220)
      de.dfki.km.semweb.Operator.CA.CorrespondenceAnalysisProcessor.processDimReduction_train(CorrespondenceAnalysisProcessor.java:1107)
      de.dfki.km.semweb.Operator.CA.CorrespondenceAnalysisProcessor.addRowPrincipalMetrics_train(CorrespondenceAnalysisProcessor.java:679)
      de.dfki.km.semweb.Operator.CA.CorrespondenceAnalysisProcessor.doWork(CorrespondenceAnalysisProcessor.java:345)
      de.dfki.km.semweb.Operator.CA.CorrespondenceAnalysisProcessor_train.doWork(CorrespondenceAnalysisProcessor_train.java:21)
      com.rapidminer.operator.Operator.execute(Operator.java:768)
      com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:51)
      com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:709)
      com.rapidminer.operator.validation.ValidationChain.executeLearner(ValidationChain.java:202)
      com.rapidminer.operator.validation.ValidationChain.learn(ValidationChain.java:288)
      com.rapidminer.operator.validation.XValidation.performIteration(XValidation.java:140)
      com.rapidminer.operator.validation.XValidation.estimatePerformance(XValidation.java:133)
      com.rapidminer.operator.validation.ValidationChain.doWork(ValidationChain.java:261)
      com.rapidminer.operator.Operator.execute(Operator.java:768)
      com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:51)
      com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:709)
      com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:368)
      com.rapidminer.operator.Operator.execute(Operator.java:768)
      com.rapidminer.Process.run(Process.java:863)
      com.rapidminer.Process.run(Process.java:770)
      com.rapidminer.Process.run(Process.java:765)
      com.rapidminer.Process.run(Process.java:755)
      com.rapidminer.gui.ProcessThread.run(ProcessThread.java:65)
Caused by:
  java.lang.ClassNotFoundException: org.netlib.util.MatConv
      java.net.URLClassLoader$1.run(URLClassLoader.java:202)
      java.security.AccessController.doPrivileged(Native Method)
      java.net.URLClassLoader.findClass(URLClassLoader.java:190)
      java.lang.ClassLoader.loadClass(ClassLoader.java:307)
      sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
      java.lang.ClassLoader.loadClass(ClassLoader.java:248)
      org.netlib.blas.DGEMM.DGEMM(DGEMM.java:170)
      de.dfki.km.semweb.CA.CorrespondenceAnalysis.matrixMult(CorrespondenceAnalysis.java:281)
      de.dfki.km.semweb.CA.CorrespondenceAnalysis.matrixDecomposition_train(CorrespondenceAnalysis.java:99)
      de.dfki.km.semweb.CA.PreprocessingCA.FCAProcessing(PreprocessingCA.java:242)
      de.dfki.km.semweb.CA.PreprocessingCA.startFCAProcessing(PreprocessingCA.java:220)
      de.dfki.km.semweb.Operator.CA.CorrespondenceAnalysisProcessor.processDimReduction_train(CorrespondenceAnalysisProcessor.java:1107)
      de.dfki.km.semweb.Operator.CA.CorrespondenceAnalysisProcessor.addRowPrincipalMetrics_train(CorrespondenceAnalysisProcessor.java:679)
      de.dfki.km.semweb.Operator.CA.CorrespondenceAnalysisProcessor.doWork(CorrespondenceAnalysisProcessor.java:345)
      de.dfki.km.semweb.Operator.CA.CorrespondenceAnalysisProcessor_train.doWork(CorrespondenceAnalysisProcessor_train.java:21)
      com.rapidminer.operator.Operator.execute(Operator.java:768)
      com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:51)
      com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:709)
      com.rapidminer.operator.validation.ValidationChain.executeLearner(ValidationChain.java:202)
      com.rapidminer.operator.validation.ValidationChain.learn(ValidationChain.java:288)
      com.rapidminer.operator.validation.XValidation.performIteration(XValidation.java:140)
      com.rapidminer.operator.validation.XValidation.estimatePerformance(XValidation.java:133)
      com.rapidminer.operator.validation.ValidationChain.doWork(ValidationChain.java:261)
      com.rapidminer.operator.Operator.execute(Operator.java:768)
      com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:51)
      com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:709)
      com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:368)
      com.rapidminer.operator.Operator.execute(Operator.java:768)
      com.rapidminer.Process.run(Process.java:863)
      com.rapidminer.Process.run(Process.java:770)
      com.rapidminer.Process.run(Process.java:765)
      com.rapidminer.Process.run(Process.java:755)
      com.rapidminer.gui.ProcessThread.run(ProcessThread.java:65)

Find more posts tagged with