See below.

> Date: Thu, 16 May 2002 14:07:36 -0700 (PDT)
> From: [EMAIL PROTECTED]
> Subject: Re: Switching javac for jasper 2
> X-X-Sender: [EMAIL PROTECTED]
> To: Tomcat Developers List <[EMAIL PROTECTED]>, Kin-Man Chung 
<[EMAIL PROTECTED]>
> MIME-version: 1.0
> Delivered-to: mailing list [EMAIL PROTECTED]
> Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm
> X-Antivirus: nagoya (v4198 created Apr 24 2002)
> X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N
> X-Authentication-warning: costinm.sfo.covalent.net: costin owned process doing 
-bs
> List-Post: <mailto:[EMAIL PROTECTED]>
> List-Subscribe: <mailto:[EMAIL PROTECTED]>
> List-Unsubscribe: <mailto:[EMAIL PROTECTED]>
> List-Help: <mailto:[EMAIL PROTECTED]>
> List-Id: "Tomcat Developers List" <tomcat-dev.jakarta.apache.org>
> 
> 
> com.sun.tools.javac.Main doesn't seem to be in JDK1.2.x, and that's the 
> target platform, isn't it ? 
> 

I believe for 4.1.x, it should be 1.3.1 and above.  Like I said, 1.2
javac is currently unsupported and deprecated in 1.3 and 1.4, and contain
bugs that are hard to work around.  Can't image people currently using
jdk1.2 wouldn't want to upgrade.

> I think the best solution for javac is to just bundle ant.jar and
> use it programmatically ( i.e. new Javac(), etc ). The introspection
> and hacks required to support multiple compilers are just too 
> ugly  - and they already have good solutions in ant.
> 

I'll look into that.  But even if ant.jar is used programmatically,
eventually it still start another process to invoke javac, right?  Plus
it's  yet another jar to be bundled with tomcat; do we really want
that?

What do others think?


> We already have enough complexity to support jikes.
> 
> Costin
> 

- Kin-man 
> 
> On Thu, 16 May 2002, Kin-Man Chung wrote:
> 
> > Tomcat has been using sun.tools.javac.Main as the default java compiler
> > for compiling the java files generated by Jasper.  This compiler is
> > essentially a JDK1.2 compiler, current deprecated and unsupported.
> > The warning message "Note: sun.tools.javac.Main has been deprecated"
> > is probably familiar to a lot of people.
> > 
> > The compiler to use is com.sun.tools.javac.Main.  The only thing that
> > prevented us from switching over to this one is the fact that it does
> > not allow a PrintWriter to be specified for error messages that it
> > may produce, which essentially force tomcat to synchronize all
> > compilation processes, a big performance hit.
> > 
> > I believe that J2sdk1.4.1, currently targetted for FCS in fall 2002,
> > will provide a javac.Main which allows us to specify a PrintWriter,
> > essentially removing the need for synchronizing the compilation.  We
> > definitely will use that when it becomes available.
> > 
> > However, I recently runs into problem with sun.tools.javac.Main which
> > surfaces when a jsp page gets large.  Sometimes it produces bogus
> > errors, and somteitmes it even produces bad class files that cannot
> > be loaded by VM.  I am contemplating switching over to using
> > com.sun.tools.javac.Main now, for 4.1 (jasper2).  If there are objections,
> > please let me know.
> > 
> > BTW, anyone know the best way to capture javac error messages written to
> > standard err stream?  I want to avoid calling Runtime.getRuntime().exec
> > if there is a way.
> > 
> > 
> > --
> > To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
> > 
> > 
> 
> 
> --
> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
> 


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to