On 7/22/2011 1:30 AM, Eric Charles wrote:
> Hi Marc & Dhrubo,
>
> I've just added on the wiki page the following sentence on top:
>
> To build James V3 in eclipse, read
> http://james.apache.org/server/3/dev-build.html
>
> This last page if more up-to-date and has been reported to work.
>
> Thx.
>
Thanks Eric for the pointer. I dunno if I am doing things right but here
is where I am at. Since I like the idea of working within (and learning)
Eclipse, I did not extract the James project externally using SVN.
Instead, I added the SVN plugin module to Eclipse, set up the repository
to point to the James svn URL, and checked out server/trunk directly as
a Java project. That worked fine.

I then closed this James project, tried the "Build James from Source"
section but got some sort of Out of Memory error when I executed mvn
clean package i.e. the stack walkback showed for example -

[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] Failure executing javac, but could not parse the error:


The system is out of resources.
Consult the following stack trace for details.
java.lang.OutOfMemoryError: PermGen space
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
        at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at
org.codehaus.plexus.compiler.javac.IsolatedClassLoader.loadClass(IsolatedClassLoader.java:56)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
        at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at
org.codehaus.plexus.compiler.javac.IsolatedClassLoader.loadClass(IsolatedClassLoader.java:56)
        at com.sun.tools.javac.comp.Check.<init>(Check.java:725)
        at com.sun.tools.javac.comp.Check.instance(Check.java:62)
        at com.sun.tools.javac.code.Types.<init>(Types.java:80)
        at com.sun.tools.javac.code.Types.instance(Types.java:69)
        at com.sun.tools.javac.jvm.ClassReader.<init>(ClassReader.java:206)
        at
com.sun.tools.javac.jvm.ClassReader.instance(ClassReader.java:168)
        at
com.sun.tools.javac.main.JavaCompiler.<init>(JavaCompiler.java:293)
        at
com.sun.tools.javac.main.JavaCompiler.instance(JavaCompiler.java:72)
        at com.sun.tools.javac.main.Main.compile(Main.java:340)
        at com.sun.tools.javac.main.Main.compile(Main.java:279)
        at com.sun.tools.javac.main.Main.compile(Main.java:270)
        at com.sun.tools.javac.Main.compile(Main.java:87)

Dunno why I should be out of memory on a machine with 4gb of memory...
Anywise, decided to punt on this since it appears the project can also
be built within Eclipse directly. So I added the Maven plugin to Eclipse
and then proceeded to add the Maven projects to Eclipse, as described on
the website.. And hit another snag... In the screenshot showing the list
of projects for Maven, at the bottom it shows that the "Add project(s)
to working set" has been check. I tried proceeding from here both with
and without this checkbox check (the documentation on this page does not
say anything about this, and I am unable to locate any external
documentation that describes this feature, so I just tried
guessing/playing with it to see if I could learn anything). I jumped
through the hoops also for creating a name for the working set.

One nasty little problem came up while I was experimenting, which should
be mentioned if the "Add project(s) to the working set" is indeed
suppose to be checked, is that once you do so, the ability to advance to
the "next" dialog is grayed out and no longer possible. I discovered, by
trial and error, that if one clicks on the "Refresh" button, after
making any sort of change to the working set, the "next" button will be
restored to an active state.

Anywise, no matter whether I checked, or didn't check this "Add
project(s) to working set" feature, I would get the following error from
the Maven build:

    openjps-maven-plugin:1.2:enhance (1 errors)                    
Action:  Resolve Later
         Execution:enhancer, in jpa/porn.xml

with a description of

No marketplace entries found to handle openjpa-maven-plugin:1.2:enhance
in Eclipse.  Please see Help for more information.

I tried looking in Help but was unable to grok anything useful... Seeing
that the action was "Resolve Later" I decided to punt on this and
proceeded to click on "Finish"  I eventually discovered that the "Add
project(s) to working set" should be checked, since it almost
successfully builds the project with just one error if you do so. (might
mention this also on the website... Without that feature being checked I
got lots of errors...)  The one error I got after the Maven build of the
workspace finished was -

Description    Resource    Path    Location    Type
Plugin execution not covered by lifecycle configuration:
org.codehaus.mojo:openjpa-maven-plugin:1.2:enhance (execution: enhancer,
phase: process-classes)    pom.xml    /james-server-jpa    line 83   
Maven Project Build Lifecycle Mapping Problem

I have no idea what to do about that, so decided to again punt and move
on with the instructions. Under "Prepare Projects" step 1 it says -

"Copy the spring-beans.xml, log4j.properties and
META-INF/persistence.xmlfrom container-spring\src\main\config\james
directory to a source folder of container-spring project"

I cannot find a config directory anywhere under
"container-spring\src\main" (I do find a config directory in several
other locations) nor can I find a file called "spring-beans.xml"
anywhere. However I do find files called log4j.properties in several
different locations... So... not sure how to proceed...

    Marc..





---------------------------------------------------------------------
To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org
For additional commands, e-mail: server-user-h...@james.apache.org

Reply via email to