geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chi runhua <chirun...@gmail.com>
Subject Re: [GEP] Source path lookup for web module's depending libraries.
Date Fri, 23 Apr 2010 02:35:28 GMT
Tianchen,

You may file a JIRA for the request and attach the patch on it for review.

thanks for your contribution.

Jeff C


On Fri, Apr 23, 2010 at 7:42 AM, Tianchen Jiang <kenneth.jiang@gmail.com>wrote:

> I was able to spend some time and create a plugin to fix this sourcepath
> lookup issue. Attached is the archive of my plugin. After it is installed in
> your eclipse, eclipse should be able to automatically locate the source path
> attached to jars. And this applies to the jars in Maven dependencies.
>
> You can also get the latest version on the update site:
> https://spleg.svn.sourceforge.net/svnroot/spleg/update
>
> Let me know if you have issues in using this plugin. Please also drop me a
> note if you find it useful. :)
>
> Thanks,
> Kenneth
>
> On Mon, Apr 19, 2010 at 8:34 AM, Tianchen Jiang <kenneth.jiang@gmail.com>wrote:
>
>> Hi Geronimo dev-tool team,
>>
>> When I was developing a web module using Geronimo Eclipse Plugin, I was
>> unable to have Eclipse to load the source code for the libraries that my web
>> module depends on. To outline the steps to reproduce my problem:
>> 1. Create a Dynamic Web Project in Eclipse
>> 2. Enable Maven by click "Maven" -> "Enable Dependency Management"
>> 3. Add a library (dependency in Maven) to my web project, for example,
>> Freemarker, using Maven plugin
>> 4. Attach source code by clicking "Maven" -> "Download Sources"
>> 5. Launch a Geronimo server to debug my web project
>> 6. Add a break point in one of Freemarker's class.
>> 7. When the breakpoint is hit, Eclipse will complain that Freemarker
>> source code is not found.
>>
>> When I digged deeper, I found out that my problem seems to be relatd with
>> the way how the class
>> "org.apache.geronimo.st.core/src/main/java/org/apache/geronimo/st/core/GeronimoSourcePathComputerDelegate.java"
>> is implemented. Below is a code snippet from its method
>> "computeSourceContainers"
>> ...
>>                  // populate list of java projects and their source
>> folders
>>                 processModules(modules, javaProjectList, server, monitor);
>>
>>                // create a ProjectRuntime classpath entry for each
>> JavaProject
>>                 IRuntimeClasspathEntry[] projectEntries = new
>> IRuntimeClasspathEntry[javaProjectList.size()];
>>                 for (int i = 0; i < javaProjectList.size(); i++) {
>>                         projectEntries[i] =
>> JavaRuntime.newProjectRuntimeClasspathEntry((IJavaProject)
>> javaProjectList.get(i));
>>                 }
>> ...
>>                 IRuntimeClasspathEntry[] resolved =
>> JavaRuntime.resolveSourceLoo
>> kupPath(entries, configuration);
>>                 ISourceContainer[] defaultContainers =
>> JavaRuntime.getSourceCont
>> ainers(resolved);
>> ...
>>
>> It seems to make Eclipse add only the web project to sourcepath lookup,
>> rather than the libraries it depends on.
>>
>> I feel it is a useful feature to make source code of all depending
>> libraries available to Eclipse when debugging, and it seems to be a very
>> intuitive way to integrate with Maven.
>>
>> Did I miss anything here? Please let me what your solution was.
>>
>> Thanks,
>> Kenneth
>>
>
>

Mime
View raw message