[Resolvido] Erro: java.lang.NoClassDefFoundError: org/apache/xml/utils/DefaultErrorHandler

8 respostas
A

E aí pessoal!

Criei um Projeto que contém classes para transformação XSLT (utilizando Xalan) e neste mesmo projeto, criei uma classe para realizar testes. Quando vou executar a classe de transformação que importei para um outro projeto, que no caso é um Plugin do Eclipse que estou criando, ela gera o seguinte erro : java.lang.NoClassDefFoundError: org/apache/xml/utils/DefaultErrorHandler

Obs.:A classe importada para o projeto funciona, pois realizei o debug ela! Mas creio que exista algum problema com algum dependência, mas não sei qual e porque!

Procurei no google, mas não encontrei algo que me ajudasse!

Alguém já passou por isso?

8 Respostas

A

Esta semana, passei por isso tantas vezes que nem consigo contar quantas vezes foram, mais…

Quero te dar uma dica: esse erro pode acontecer tanto por não encontrar nenhuma definição da classe, quanto por encontrar mais de uma definição. Portanto, pode ser o caso de procurar por classes duplicadas.

[]´s

A

asaudate:
Esta semana, passei por isso tantas vezes que nem consigo contar quantas vezes foram, mais…

Quero te dar uma dica: esse erro pode acontecer tanto por não encontrar nenhuma definição da classe, quanto por encontrar mais de uma definição. Portanto, pode ser o caso de procurar por classes duplicadas.

[]´s


Exatamente. Pode ter algum outro jar que você esteja usando que ‘sobreponha’ esse que você deseja usar.
Isso é o chamado JAR Hell ou Classloader Hell ou DLL Hell. Tem um draft da Caelum que fala um pouco sobre isso… Vale a pena dar uma lida.

A

Andre Brito:
asaudate:
Esta semana, passei por isso tantas vezes que nem consigo contar quantas vezes foram, mais…

Quero te dar uma dica: esse erro pode acontecer tanto por não encontrar nenhuma definição da classe, quanto por encontrar mais de uma definição. Portanto, pode ser o caso de procurar por classes duplicadas.

[]´s


Exatamente. Pode ter algum outro jar que você esteja usando que ‘sobreponha’ esse que você deseja usar.
Isso é o chamado JAR Hell ou Classloader Hell ou DLL Hell. Tem um draft da Caelum que fala um pouco sobre isso… Vale a pena dar uma lida.

Então pessoal! Eu já verifiquei tudo isso. Isso já está se tornando um situação muito chata cara. Pois quando executo a classe no projeto que ela está, ela funciona perfeitamente, sem nenhum problema. Já quando estou em outro projeto, que é um Eclipse App, ela gera esse erro. Já não sei mais ao que recorrer.

A

Cavaleiros!

Para que você entendam um pouco mais sobre o erro que está acontecendo, vou mostrar abaixo o Stack Trace da Exception:
Unhandled event loop exception

java.lang.NoClassDefFoundError: org/apache/xml/utils/DefaultErrorHandler
	at com.totvs.tds.esb.transformation.EsbXSLTProcessor.parse(EsbXSLTProcessor.java:134)
	at com.totvs.tds.esb.transformation.EsbXSLTProcessor.parse(EsbXSLTProcessor.java:66)
	at com.totvs.tds.esb.transformation.util.FilePersist.persistTransformation(FilePersist.java:39)
	at com.totvs.tds.esb.ui.wizard.DeployToESBServerWizard.performFinish(DeployToESBServerWizard.java:86)
	at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:752)
	at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:373)
	at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3910)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
	at org.eclipse.jface.window.Window.open(Window.java:801)
	at com.totvs.tds.esb.ui.wizard.DeployESBProject.run(DeployESBProject.java:40)
	at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3910)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
Caused by: java.lang.ClassNotFoundException: org.apache.xml.utils.DefaultErrorHandler
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:494)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:398)
	at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:105)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	... 44 more
M
  • cavalheiros

Se vc estiver usando Maven, passa quais jars vc está importando

A

mcarabolante:
* cavalheiros

Se vc estiver usando Maven, passa quais jars vc está importando

Cavaleiro (“porque batalhamos, isso lembra um pouco de história, o que você deve ter aprendido na 5ª série. Também pode ser substituído por guerreiro.”), nada pessoal!

Não estou utilizando Maven!

A

Realizei alguns testes com uma classe, e funcionou certinho! Com isso posso concluir que meu problema está com o Run do Eclipse Application!

A

[b]Tópico resolvido!

Solução:[/b]http://www.guj.com.br/posts/list/205391.java

Valeu!

Criado 30 de junho de 2010
Ultima resposta 5 de jul. de 2010
Respostas 8
Participantes 4