[forge-dev] Add module dependency

Ivan St. Ivanov ivan.st.ivanov at gmail.com
Mon Feb 10 13:46:16 EST 2014


Hi Rafael,

Most probably the reason for the class cast exception is that you have
declared compile dependency to both the Forge parser and the jdt-core
module. The parser module has itself dependency to jdt core. Both modules
are loaded in separate classloaders. So maybe Forge loads the CompilationUnit
class in different classloader than yours.

So I would expect that the provided scope should work, not sure why it
failed.

I would suggest following what George asked earlier in this thread: *Why do
you need to access  org.eclipse.jdt.core.dom.CompilationUnit? You should
only use the classes in java-parser-api that is already provided when you
add a dependency to forge-shell-api*

Besides the classloading issues, the Forge parser API is much more
intuitive to use than JDT core. The downside is that not all of the JDT
core is wrapped. But I hope that it has everything you need.

Cheers,
Ivan


On Mon, Feb 10, 2014 at 7:07 PM, Rafael Pestano <rmpestano at gmail.com> wrote:

> same exceptions, with compile got classcast and with provided classnot
> found
>
>
> 2014-02-10 14:58 GMT-02:00 George Gastaldi <ggastald at redhat.com>:
>
>  Try adding <dependencies-as-resource-root/> to your forge.xml file as
>> described in:
>>  http://forge.jboss.org/docs/plugin_development/reference-libraries.html
>>
>>
>> On 10-02-2014 14:55, Rafael Pestano wrote:
>>
>> there isnt an easy way to add     <module name="org.eclipse.javaparser" />
>> to my plugin module.xml at build time?
>>
>>
>> 2014-02-10 14:52 GMT-02:00 Rafael Pestano <rmpestano at gmail.com>:
>>
>>>  Hi George,
>>>
>>>  that was my first attempt, i got classnotfound, see stacktrace:
>>>
>>>
>>> ***ERROR*** Exception encountered: (type "set VERBOSE false" to disable
>>> stack traces)
>>>  java.lang.ClassNotFoundException:
>>> org.eclipse.jdt.core.dom.CompilationUnit from [Module
>>> "br.ufrgs.rmpestano.intrabundle:0.1-SNAPSHOT-3734196a-d501-400f-b6ec-bfcd0ce08b99"
>>> from local module loader @1eac903 (roots:
>>> /home/rmpestano/projetos/forge/dist/forge-distribution-1.4.3.Final/modules,/home/rmpestano/.forge/plugins,/home/rmpestano/projetos)]
>>>         at
>>> org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
>>>         at
>>> org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
>>>         at
>>> org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
>>>         at
>>> org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
>>>         at
>>> org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
>>>
>>>
>>>         at
>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.verifyStaleReference(OSGiModuleImpl.java:368)
>>>         at
>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:359)
>>>         at
>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:354)
>>>         at
>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:354)
>>>         at
>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.findStaleReferences(OSGiModuleImpl.java:346)
>>>         at
>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.getStaleReferences(OSGiModuleImpl.java:461)
>>>         at
>>> br.ufrgs.rmpestano.intrabundle.plugin.BundlePlugin.staleReferences(BundlePlugin.java:107)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>         at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>         at
>>> org.jboss.forge.shell.command.Execution.perform(Execution.java:160)
>>>         at
>>> org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:109)
>>>         at
>>> org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:47)
>>>         at
>>> org.jboss.forge.shell.ShellImpl$ExecutorThread.run(ShellImpl.java:796)
>>>         at org.jboss.forge.shell.ShellImpl.execute(ShellImpl.java:819)
>>>         at org.jboss.forge.shell.ShellImpl.doShell(ShellImpl.java:609)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>         at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>         at
>>> org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:48)
>>>         at
>>> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:125)
>>>         at
>>> org.jboss.forge.shell.ShellImpl$Proxy$_$$_WeldClientProxy.doShell(ShellImpl$Proxy$_$$_WeldClientProxy.java)
>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>         at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>         at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>         at
>>> org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
>>>         at
>>> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
>>>         at
>>> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
>>>         at
>>> org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
>>>         at
>>> org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
>>>         at
>>> org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
>>>         at
>>> org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
>>>         at
>>> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282)
>>>         at
>>> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265)
>>>         at
>>> org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234)
>>>         at
>>> org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:635)
>>>         at
>>> org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:622)
>>>         at
>>> org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:616)
>>>         at org.jboss.forge.shell.Bootstrap$1.run(Bootstrap.java:186)
>>>         at java.lang.Thread.run(Thread.java:744)
>>>
>>>
>>> 2014-02-10 14:48 GMT-02:00 George Gastaldi <ggastald at redhat.com>:
>>>
>>>  Rafael,
>>>>
>>>> Try adding your JDT dependencies as provided. I'm afraid Forge 1 won't
>>>> handle conflicting classes very well. This is fixed in Forge 2.
>>>>
>>>>
>>>>
>>>> On 10-02-2014 14:43, Rafael Pestano wrote:
>>>>
>>>>   Hi Ivan
>>>> "Are you sure that changing the scope to compile won't fix the issue?"
>>>>
>>>>
>>>>  When i use compile scope i got classcast exception,(full stacktrace
>>>> also added below) but as soon i use org.eclipse.jdt.core as provided and
>>>> add java-parser module dependency to my plugin module.xml everything works.
>>>> I think its a classloading issue.
>>>>
>>>>  Here is the code:
>>>> private boolean verifyStaleReference(JavaSource source) {
>>>>         CompilationUnit comp = (CompilationUnit) source.getInternal();
>>>>         comp.getRoot().toString();
>>>>  //todo verify services stale references
>>>>         source.getOrigin().toString();
>>>>         return true;
>>>>     }
>>>>
>>>>
>>>>
>>>> full source code is here:
>>>> https://github.com/rmpestano/intrabundle/blob/master/src/main/java/br/ufrgs/rmpestano/intrabundle/model/OSGiModuleImpl.java#L351
>>>>
>>>>  I've also tried jdt from this dependency:
>>>> <dependency>
>>>>       <groupId>org.eclipse.jdt</groupId>
>>>>       <artifactId>org.eclipse.jdt.core</artifactId>
>>>>       <version>3.7.1</version>
>>>>       <scope>compile</scope>
>>>>     </dependency>
>>>>  i got same classcastexception.
>>>>
>>>>  stacktrace:
>>>> ***ERROR*** Exception encountered: (type "set VERBOSE false" to disable
>>>> stack traces)
>>>> java.lang.ClassCastException: org.eclipse.jdt.core.dom.CompilationUnit
>>>> cannot be cast to org.eclipse.jdt.core.dom.CompilationUnit
>>>>         at
>>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.verifyStaleReference(OSGiModuleImpl.java:368)
>>>>         at
>>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:359)
>>>>         at
>>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:354)
>>>>         at
>>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.searchStaleReferences(OSGiModuleImpl.java:354)
>>>>         at
>>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.findStaleReferences(OSGiModuleImpl.java:346)
>>>>         at
>>>> br.ufrgs.rmpestano.intrabundle.model.OSGiModuleImpl.getStaleReferences(OSGiModuleImpl.java:461)
>>>>         at
>>>> br.ufrgs.rmpestano.intrabundle.plugin.BundlePlugin.staleReferences(BundlePlugin.java:107)
>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>         at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>         at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>>         at
>>>> org.jboss.forge.shell.command.Execution.perform(Execution.java:160)
>>>>         at
>>>> org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:109)
>>>>         at
>>>> org.jboss.forge.shell.command.fshparser.FSHRuntime.run(FSHRuntime.java:47)
>>>>         at
>>>> org.jboss.forge.shell.ShellImpl$ExecutorThread.run(ShellImpl.java:796)
>>>>         at org.jboss.forge.shell.ShellImpl.execute(ShellImpl.java:819)
>>>>         at org.jboss.forge.shell.ShellImpl.doShell(ShellImpl.java:609)
>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>         at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>         at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>>         at
>>>> org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:48)
>>>>         at
>>>> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:125)
>>>>         at
>>>> org.jboss.forge.shell.ShellImpl$Proxy$_$$_WeldClientProxy.doShell(ShellImpl$Proxy$_$$_WeldClientProxy.java)
>>>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>         at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>         at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>         at java.lang.reflect.Method.invoke(Method.java:606)
>>>>         at
>>>> org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
>>>>         at
>>>> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
>>>>         at
>>>> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
>>>>         at
>>>> org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
>>>>         at
>>>> org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
>>>>         at
>>>> org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
>>>>         at
>>>> org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
>>>>         at
>>>> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282)
>>>>         at
>>>> org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265)
>>>>         at
>>>> org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234)
>>>>         at
>>>> org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:635)
>>>>         at
>>>> org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:622)
>>>>         at
>>>> org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:616)
>>>>         at org.jboss.forge.shell.Bootstrap$1.run(Bootstrap.java:186)
>>>>         at java.lang.Thread.run(Thread.java:744)
>>>>
>>>>
>>>>
>>>>
>>>> 2014-02-10 14:16 GMT-02:00 Rafael Pestano <rmpestano at gmail.com>:
>>>>
>>>>>  Hi guys,
>>>>>
>>>>>  i need to access class AST, is that possible with forge-shell-api?
>>>>>
>>>>>
>>>>> 2014-02-10 11:41 GMT-02:00 George Gastaldi <ggastald at redhat.com>:
>>>>>
>>>>>  Hi Rafael,
>>>>>>
>>>>>> Why do you need to access  org.eclipse.jdt.core.dom.CompilationUnit?
>>>>>> You should only use the classes in java-parser-api that is already provided
>>>>>> when you add a dependency to forge-shell-api. That said, forge-shell-api
>>>>>> with the provided scope is the only dependency your module might need.
>>>>>>
>>>>>> See https://github.com/forge/core/blob/1.x/dev-plugins/pom.xml as an
>>>>>> example.
>>>>>>
>>>>>> Best Regards,
>>>>>>
>>>>>> George
>>>>>>
>>>>>>
>>>>>> On 10-02-2014 11:14, Rafael Pestano wrote:
>>>>>>
>>>>>>  here is complete pom.xml:
>>>>>>
>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
>>>>>> http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="
>>>>>> http://maven.apache.org/POM/4.0.0"
>>>>>>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>>>>>>   <modelVersion>4.0.0</modelVersion>
>>>>>>   <groupId>br.ufrgs.rmpestano</groupId>
>>>>>>   <artifactId>intrabundle</artifactId>
>>>>>>   <version>0.1-SNAPSHOT</version>
>>>>>>   <name>intrabundle</name>
>>>>>>   <properties>
>>>>>>     <forge.version>1.4.4.Final</forge.version>
>>>>>>     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
>>>>>>     <forge.api.version>1.4.4.Final</forge.api.version>
>>>>>>   </properties>
>>>>>>   <dependencies>
>>>>>>     <dependency>
>>>>>>       <groupId>org.jboss.forge</groupId>
>>>>>>       <artifactId>forge-shell-api</artifactId>
>>>>>>       <version>${forge.version}</version>
>>>>>>       <scope>provided</scope>
>>>>>>     </dependency>
>>>>>>     <dependency>
>>>>>>       <groupId>org.jboss.forge</groupId>
>>>>>>       <artifactId>forge-maven-api</artifactId>
>>>>>>       <version>${forge.version}</version>
>>>>>>       <scope>provided</scope>
>>>>>>     </dependency>
>>>>>>     <dependency>
>>>>>>       <groupId>org.jboss.forge</groupId>
>>>>>>       <artifactId>forge-javaee-api</artifactId>
>>>>>>       <version>${forge.version}</version>
>>>>>>       <scope>provided</scope>
>>>>>>     </dependency>
>>>>>>     <dependency>
>>>>>>       <groupId>net.sf.jasperreports</groupId>
>>>>>>       <artifactId>jasperreports</artifactId>
>>>>>>       <version>5.1.2</version>
>>>>>>       <exclusions>
>>>>>>         <exclusion>
>>>>>>           <artifactId>itext</artifactId>
>>>>>>           <groupId>com.lowagie</groupId>
>>>>>>         </exclusion>
>>>>>>         <exclusion>
>>>>>>           <artifactId>commons-collections</artifactId>
>>>>>>           <groupId>commons-collections</groupId>
>>>>>>         </exclusion>
>>>>>>         <exclusion>
>>>>>>           <artifactId>jdtcore</artifactId>
>>>>>>           <groupId>eclipse</groupId>
>>>>>>         </exclusion>
>>>>>>       </exclusions>
>>>>>>     </dependency>
>>>>>>     <dependency>
>>>>>>       <groupId>commons-collections</groupId>
>>>>>>       <artifactId>commons-collections</artifactId>
>>>>>>       <version>3.2.1</version>
>>>>>>     </dependency>
>>>>>>     <dependency>
>>>>>>       <groupId>com.lowagie</groupId>
>>>>>>       <artifactId>itext</artifactId>
>>>>>>       <version>2.1.7</version>
>>>>>>     </dependency>
>>>>>>     <dependency>
>>>>>>       <groupId>org.eclipse.tycho</groupId>
>>>>>>       <artifactId>org.eclipse.jdt.core</artifactId>
>>>>>>       <version>3.9.1.v20130905-0837</version>
>>>>>>       <scope>provided</scope>
>>>>>>     </dependency>
>>>>>>     <dependency>
>>>>>>       <groupId>org.jboss.forge</groupId>
>>>>>>       <artifactId>forge-parser-java</artifactId>
>>>>>>       <version>${forge.version}</version>
>>>>>>       <scope>provided</scope>
>>>>>>     </dependency>
>>>>>>     <dependency>
>>>>>>       <groupId>org.jboss.forge</groupId>
>>>>>>       <artifactId>forge-test-harness</artifactId>
>>>>>>       <version>${forge.version}</version>
>>>>>>       <scope>test</scope>
>>>>>>     </dependency>
>>>>>>     <dependency>
>>>>>>       <groupId>org.jboss.forge</groupId>
>>>>>>       <artifactId>forge-shell</artifactId>
>>>>>>       <version>${forge.version}</version>
>>>>>>       <scope>test</scope>
>>>>>>     </dependency>
>>>>>>     <dependency>
>>>>>>       <groupId>org.jboss.forge</groupId>
>>>>>>       <artifactId>forge-javaee-impl</artifactId>
>>>>>>       <version>${forge.version}</version>
>>>>>>       <scope>test</scope>
>>>>>>     </dependency>
>>>>>>     <dependency>
>>>>>>       <groupId>org.jboss.forge</groupId>
>>>>>>       <artifactId>forge-parser-java-api</artifactId>
>>>>>>       <version>1.4.4-SNAPSHOT</version>
>>>>>>       <scope>provided</scope>
>>>>>>     </dependency>
>>>>>>     <dependency>
>>>>>>       <groupId>org.jboss.forge</groupId>
>>>>>>       <artifactId>forge-parser-java</artifactId>
>>>>>>       <version>1.4.4-SNAPSHOT</version>
>>>>>>       <scope>provided</scope>
>>>>>>     </dependency>
>>>>>>   </dependencies>
>>>>>>   <repositories>
>>>>>>     <repository>
>>>>>>       <id>JBOSS_NEXUS</id>
>>>>>>       <url>http://repository.jboss.org/nexus/content/groups/public
>>>>>> </url>
>>>>>>     </repository>
>>>>>>   </repositories>
>>>>>>   <build>
>>>>>>     <plugins>
>>>>>>       <plugin>
>>>>>>         <artifactId>maven-compiler-plugin</artifactId>
>>>>>>         <version>2.3.2</version>
>>>>>>         <configuration>
>>>>>>           <encoding>UTF-8</encoding>
>>>>>>           <source>1.6</source>
>>>>>>           <target>1.6</target>
>>>>>>         </configuration>
>>>>>>       </plugin>
>>>>>>       <plugin>
>>>>>>         <groupId>org.codehaus.mojo</groupId>
>>>>>>         <artifactId>jasperreports-maven-plugin</artifactId>
>>>>>>         <version>1.0-beta-1</version>
>>>>>>         <executions>
>>>>>>           <execution>
>>>>>>             <phase>prepare-package</phase>
>>>>>>             <goals>
>>>>>>               <goal>compile-reports</goal>
>>>>>>             </goals>
>>>>>>           </execution>
>>>>>>         </executions>
>>>>>>         <dependencies>
>>>>>>           <dependency>
>>>>>>             <groupId>net.sf.jasperreports</groupId>
>>>>>>             <artifactId>jasperreports</artifactId>
>>>>>>             <version>5.1.2</version>
>>>>>>             <scope>compile</scope>
>>>>>>             <exclusions>
>>>>>>               <exclusion>
>>>>>>                 <artifactId>itext</artifactId>
>>>>>>                 <groupId>com.lowagie</groupId>
>>>>>>               </exclusion>
>>>>>>             </exclusions>
>>>>>>           </dependency>
>>>>>>           <dependency>
>>>>>>             <groupId>commons-digester</groupId>
>>>>>>             <artifactId>commons-digester</artifactId>
>>>>>>             <version>1.8</version>
>>>>>>           </dependency>
>>>>>>           <dependency>
>>>>>>             <groupId>commons-collections</groupId>
>>>>>>             <artifactId>commons-collections</artifactId>
>>>>>>             <version>3.2</version>
>>>>>>           </dependency>
>>>>>>           <dependency>
>>>>>>             <groupId>com.lowagie</groupId>
>>>>>>             <artifactId>itext</artifactId>
>>>>>>             <version>2.1.7</version>
>>>>>>           </dependency>
>>>>>>           <dependency>
>>>>>>             <groupId>commons-beanutils</groupId>
>>>>>>             <artifactId>commons-beanutils</artifactId>
>>>>>>             <version>1.5</version>
>>>>>>           </dependency>
>>>>>>         </dependencies>
>>>>>>         <configuration>
>>>>>>           <xmlValidation>true</xmlValidation>
>>>>>>
>>>>>> <sourceDirectory>src/main/resources/reports</sourceDirectory>
>>>>>>           <outputDirectory>target/classes/reports</outputDirectory>
>>>>>>         </configuration>
>>>>>>       </plugin>
>>>>>>     </plugins>
>>>>>>   </build>
>>>>>> </project>
>>>>>>
>>>>>>
>>>>>>
>>>>>> 2014-02-10 10:53 GMT-02:00 Rafael Pestano <rmpestano at gmail.com>:
>>>>>>
>>>>>>>  Hi guys,
>>>>>>>
>>>>>>>  how can i add a module dependency to my plugin?(in forge 1.x)
>>>>>>>
>>>>>>>  I'm using JavaParser and i need to access
>>>>>>> org.eclipse.jdt.core.dom.CompilationUnit api which is available in
>>>>>>> javaparser module (org.eclipse.jdt.core-3.9.1.jar) which doesnt comes in
>>>>>>> default module dependencies[1].
>>>>>>>
>>>>>>>  in my pom.xml i use <dependency>
>>>>>>>       <groupId>org.eclipse.tycho</groupId>
>>>>>>>       <artifactId>org.eclipse.jdt.core</artifactId>
>>>>>>>       <version>3.9.1.v20130905-0837</version>
>>>>>>>       <scope>provided</scope> tried compile also
>>>>>>>     </dependency>
>>>>>>>
>>>>>>>  but i receive ***ERROR*** Exception encountered: (type "set
>>>>>>> VERBOSE false" to disable stack traces)
>>>>>>> java.lang.ClassNotFoundException:
>>>>>>> org.eclipse.jdt.core.dom.CompilationUnit from [Module
>>>>>>> "br.ufrgs.rmpestano.intrabundle:0.1-SNAPSHOT-35a537a5-1ab6-4b19-a253-03e3bbfae57d"
>>>>>>> from local module loader @1eac903 (roots:
>>>>>>> /home/rmpestano/projetos/forge/dist/forge-distribution-1.4.3.Final/modules,/home/rmpestano/.forge/plugins,/home/rmpestano/projetos)]
>>>>>>>
>>>>>>>  if i add(manually) org.eclipse.javaparser module dependency in my
>>>>>>> plugin module.xml everything works.
>>>>>>>
>>>>>>> How can i tell forge that i need that dependency?
>>>>>>>
>>>>>>>   Thanks in advance
>>>>>>>
>>>>>>> [1]
>>>>>>> http://forge.jboss.org/docs/plugin_development/reference-libraries.html
>>>>>>>  --
>>>>>>>  <http://www.advancedit.com.br/>Att,
>>>>>>>
>>>>>>> Rafael M. Pestano
>>>>>>>
>>>>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do
>>>>>>> Sul
>>>>>>> Graduando em Ciência da Computação UFRGS
>>>>>>> http://conventionsframework.org <http://conventions.github.io/home/>
>>>>>>>  http://rpestano.wordpress.com/
>>>>>>> @realpestano
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>>  <http://www.advancedit.com.br/>Att,
>>>>>>
>>>>>> Rafael M. Pestano
>>>>>>
>>>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>>>>>> Graduando em Ciência da Computação UFRGS
>>>>>> http://conventionsframework.org <http://conventions.github.io/home/>
>>>>>>  http://rpestano.wordpress.com/
>>>>>> @realpestano
>>>>>>
>>>>>>
>>>>>>   _______________________________________________
>>>>>> forge-dev mailing listforge-dev at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> forge-dev mailing list
>>>>>> forge-dev at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>  <http://www.advancedit.com.br/>Att,
>>>>>
>>>>> Rafael M. Pestano
>>>>>
>>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>>>>> Graduando em Ciência da Computação UFRGS
>>>>> http://conventionsframework.org <http://conventions.github.io/home/>
>>>>>  http://rpestano.wordpress.com/
>>>>> @realpestano
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>>  <http://www.advancedit.com.br/>Att,
>>>>
>>>> Rafael M. Pestano
>>>>
>>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>>>> Graduando em Ciência da Computação UFRGS
>>>> http://conventionsframework.org <http://conventions.github.io/home/>
>>>>  http://rpestano.wordpress.com/
>>>> @realpestano
>>>>
>>>>
>>>> _______________________________________________
>>>> forge-dev mailing listforge-dev at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/forge-dev
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> forge-dev mailing list
>>>> forge-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>>>
>>>
>>>
>>>
>>> --
>>>  <http://www.advancedit.com.br/>Att,
>>>
>>> Rafael M. Pestano
>>>
>>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>>> Graduando em Ciência da Computação UFRGS
>>> http://conventionsframework.org <http://conventions.github.io/home/>
>>>  http://rpestano.wordpress.com/
>>> @realpestano
>>>
>>
>>
>>
>> --
>>  <http://www.advancedit.com.br/>Att,
>>
>> Rafael M. Pestano
>>
>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>> Graduando em Ciência da Computação UFRGS
>> http://conventionsframework.org <http://conventions.github.io/home/>
>>  http://rpestano.wordpress.com/
>> @realpestano
>>
>>
>> _______________________________________________
>> forge-dev mailing listforge-dev at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/forge-dev
>>
>>
>>
>> _______________________________________________
>> forge-dev mailing list
>> forge-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>
>
>
> --
> <http://www.advancedit.com.br/>Att,
>
> Rafael M. Pestano
>
> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
> Graduando em Ciência da Computação UFRGS
> http://conventionsframework.org <http://conventions.github.io/home/>
> http://rpestano.wordpress.com/
> @realpestano
>
> _______________________________________________
> forge-dev mailing list
> forge-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/forge-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20140210/75f9334d/attachment-0001.html 


More information about the forge-dev mailing list