geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tianchen Jiang <kenneth.ji...@gmail.com>
Subject [GEP] Source path lookup for web module's depending libraries.
Date Mon, 19 Apr 2010 15:34:22 GMT
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