cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joerg Heinicke <joerg.heini...@gmx.de>
Subject Re: eclipse classpath
Date Wed, 16 Jul 2003 23:39:33 GMT
>>But why removing all jars? I used it the last weeks without removing the
>>jars. Tomcat
>>(http://jakarta.apache.org/tomcat/tomcat-4.1-doc/class-loader-howto.html)
>>(and also Jetty from my experience) look first at /WEB-INF/classes,
>>second /WEB-INF/lib/*.jar for the needed classes. This would also allow
>>the outside usage of the webapp.
> 
> Yes, that's try, but if you create a launch configuration for eclipse,
> it automatically adds all jars from your project to your classpath. So,
> you have all jars in the startup classpath and in WEB-INF/lib and this
> can cause problems as the class loaded via WEB-INF/lib is not the same
> as when loaded via the startup classpath.

You start your servlet container from inside Eclipse? I start it from 
command line and only attach for remote debugging.

> So, this is a simple but working solution for eclipse.
> And, as the compiled classes from eclipse are not copied to WEB-INF/classes
> but to the usual configured output folder, you would get into problems
> when the cocoon.jars are still in WEB-INF/lib.

I have set the eclipse output to WEB-INF/classes, so that changes aren't 
lost after servlet container restart. So I only need to restore the 
patched roles file. What about

   <!-- Prepares the webapp to make it directly usable with the eclipse 
project -->
   <target name="eclipse-webapp-prepare" depends="prepare, 
eclipse-webapp-delete-jars, eclipse-webapp-restore-roles"
           description="Prepares the webapp directory to make it usable 
within Eclipse"/>

   <target name="eclipse-webapp-restore-roles">
       <copy file="${build.dest}/org/apache/cocoon/cocoon.roles"
tofile="${build.webapp}/WEB-INF/classes/org/apache/cocoon/cocoon.roles"
             overwrite="yes"/>
   </target>

   <target name="eclipse-webapp-delete-jars">
       <!-- delete all jars, they are already included in the project -->
       <delete>
           <fileset dir="${build.webapp}/WEB-INF/lib" includes="*.jar"/>
       </delete>
   </target>

Joerg


Mime
View raw message