Eclipse Plug-in Development - Dependencia de outro Jar/Plug-in

5 respostas
S

Boa tarde pessoal.

Bom estou tendo um problema com o desenvolvimento d eum plugin para o eclipse.
Não estou conseguinto manter os Jars no plugin. Ja tentei de muitas maneiras, mas não consegui descobrir a certa.

Se eu exporto o Programa com um Jar executável, ele roda normalmente. Porém se exporto como Plug-in,
as dependencias não vão junto, com isso, da Exceção.
(Dois projetos diferentes, um como Plug-in o outro como Executável, porém com praticamente o mesmo código fonte).

Alguem sabe me informar em quais locais do Projeto/plugin.xml tenho que adicionar as dependências?
Ja fiz 1001 tentativas, e nada!

Desde ja grato,
Filipe D.

!ENTRY org.eclipse.ui 4 0 2010-04-29 15:28:44.718
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
	at uid.plugin.xmlconverter.handler.Convert.execute(Convert.java:69)
	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:294)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
	at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
	at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
	at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
	at org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(CommandContributionItem.java:770)
	at org.eclipse.ui.menus.CommandContributionItem.access$10(CommandContributionItem.java:756)
	at org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:746)
	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)

5 Respostas

allyssonluan

E aí amigo, tudo beleza?

Estou enfrentando praticamente este mesmo problema!

Você conseguiu achar uma solução?

R

Você tentou adicionar a lib ao runtime classpath do plugin.xml?

Para adicionar uma nova lib em seu runtime classpath faz o seguinte:

Clique em plugin.xml -> Runtime Tab -> Classpath.
Ao escolher Classpath clique em [ADD] e procure a lib para adicionar ao seu projeto.

Se observar o arquivo será adicionado ao seu build.properties. Agora tente exportar seu jar.

Infelizmente não tenho como testar aqui. Faz algum tempo que fiz isto. Mas faça o teste.

allyssonluan

Razec:
Você tentou adicionar a lib ao runtime classpath do plugin.xml?

Para adicionar uma nova lib em seu runtime classpath faz o seguinte:

Clique em plugin.xml -> Runtime Tab -> Classpath.
Ao escolher Classpath clique em [ADD] e procure a lib para adicionar ao seu projeto.

Se observar o arquivo será adicionado ao seu build.properties. Agora tente exportar seu jar.

Infelizmente não tenho como testar aqui. Faz algum tempo que fiz isto. Mas faça o teste.

Tentei fazer isso, mas apenas aparecem as pastas de meu projeto! Não tenho acesso ao jar!

R

Encontrei um link: http://cs.unibg.it/gargantini/didattica/eclipse/plugin_libs.html com screenshot explicando detalhadamente.

allyssonluan

Razec:
Encontrei um link: http://cs.unibg.it/gargantini/didattica/eclipse/plugin_libs.html com screenshot explicando detalhadamente.

Colega, obrigado pela dica, pois ela foi bem aceita mas, da seguinte forma:

Eu tinha o Projeto A que importava uma classe do projeto B (ambos plugins do eclipse). No entanto, estava eu, tentando concertar o erro pelo projeto A, sendo que consegui resolver pelo B! hehehe

Na pasta META-INF, criei um outra pasta chamada lib e coloquei o jar que cotinha a classe que estava com erro. Sendo assim, tudo funcionou normalmente! hehehe

Fiquei 1 semana na peleia, mas consegui!

Thanks"

Criado 29 de abril de 2010
Ultima resposta 5 de jul. de 2010
Respostas 5
Participantes 3