What ide are you using?  If you set a property at the start of the build
script that sets java.home to your SDK, then it should use that.  I know in
NetBeans that properties are immutable, so once set they will not be set
again.  I am not sure about other environments, but I would guess this is a
feature of ANT and not the IDE.

hth


On 4/20/06, Leon Rosenberg <[EMAIL PROTECTED]> wrote:
>
> On 4/20/06, Marc Farrow <[EMAIL PROTECTED]> wrote:
> > jsp:
> >     [echo] /home/frs/test_web_tomcat
> >     [echo] /usr/local/jdk1.5.0_06_32bit/jre
> >     [echo] /usr/local/jdk1.5.0_06_32bit/jre
> >     [echo] Generating java files out of root jsps
> > [jasper2] java.lang.IllegalStateException: No Java compiler available
> >
> > This looks like your "compiler" is pointing to a JRE instead of JDK.
> >
>
> Yes, but how?
> The $JAVA_HOME variable is pointing to the jdk, other build scripts
> running fine. The java.home in this special build file seems to point
> into false direction, but I don't know what could twist it?
>
> leon
>
> >
> >
> > On 4/20/06, Leon Rosenberg <[EMAIL PROTECTED]> wrote:
> > >
> > > Hi,
> > >
> > > in our deployment scripts we precompile jsps for live deployment.
> > > However, we are in the process of switching from 5.0.x to 5.5.16 and
> > > the precompilation fails.
> > > I've searched the net and checked the 5.5 docs but haven't found any
> > > hints.
> > >
> > > Here's the exception:
> > >
> > > [EMAIL PROTECTED]:~/bin/testsystem$ ant -f build_web.xml
> > > Buildfile: build_web.xml
> > >
> > > jsp:
> > >     [echo] /home/frs/test_web_tomcat
> > >     [echo] /usr/local/jdk1.5.0_06_32bit/jre
> > >     [echo] /usr/local/jdk1.5.0_06_32bit/jre
> > >     [echo] Generating java files out of root jsps
> > > [jasper2] java.lang.IllegalStateException: No Java compiler available
> > > [jasper2]     at
> > > org.apache.jasper.JspCompilationContext.createCompiler(
> > > JspCompilationContext.java:224)
> > > [jasper2]     at org.apache.jasper.JspC.processFile(JspC.java:979)
> > > [jasper2]     at org.apache.jasper.JspC.execute(JspC.java:1135)
> > > [jasper2]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> > > Method)
> > > [jasper2]     at
> > > sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java
> > > :39)
> > > [jasper2]     at
> > > sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > > DelegatingMethodAccessorImpl.java:25)
> > > [jasper2]     at java.lang.reflect.Method.invoke(Method.java:585)
> > > [jasper2]     at
> > > org.apache.tools.ant.TaskAdapter.execute(TaskAdapter.java:123)
> > > [jasper2]     at
> > > org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
> > > [jasper2]     at org.apache.tools.ant.Task.perform(Task.java:364)
> > > [jasper2]     at org.apache.tools.ant.Target.execute(Target.java:341)
> > > [jasper2]     at org.apache.tools.ant.Target.performTasks(Target.java
> :369)
> > > [jasper2]     at
> > > org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
> > > [jasper2]     at org.apache.tools.ant.Project.executeTarget(
> Project.java
> > > :1185)
> > > [jasper2]     at
> > > org.apache.tools.ant.helper.DefaultExecutor.executeTargets(
> > > DefaultExecutor.java:40)
> > > [jasper2]     at
> > > org.apache.tools.ant.Project.executeTargets(Project.java:1068)
> > > [jasper2]     at org.apache.tools.ant.Main.runBuild(Main.java:668)
> > > [jasper2]     at org.apache.tools.ant.Main.startAnt(Main.java:187)
> > > [jasper2]     at org.apache.tools.ant.launch.Launcher.run(
> Launcher.java
> > > :246)
> > > [jasper2]     at org.apache.tools.ant.launch.Launcher.main(
> Launcher.java
> > > :67)
> > >
> > > BUILD FAILED
> > > /home/frs/bin/testsystem/build_web.xml:41:
> > > org.apache.jasper.JasperException: No Java compiler available
> > >
> > >
> > > and here's the buildfile:
> > > <project name="datingr4p1" default="jsp" basedir=".">
> > >
> > > <property name="tomcat.home" location="/home/frs/test_web_tomcat"/>
> > > <property name="root.classes"
> > > location="${tomcat.home}/work/Catalina/localhost/_/"/>
> > > <property name="root.src" location="${tomcat.home}/webapps/ROOT"/>
> > >
> > >
> > > <target name="jsp">
> > >    <!--
> > >         The Ant JSPC task doesn't work with Tomcat 5.0
> > >         so in the meantime we need to define our own task.
> > >      -->
> > >    <echo>${tomcat.home}</echo>
> > >
> > >    <echo>${java.home}</echo>
> > >    <property name="java.home" location="/usr/local/java"/>
> > >    <echo>${java.home}</echo>
> > >    <taskdef classname="org.apache.jasper.JspC" onerror="report"
> > > name="jasper2">
> > >        <classpath id="jspc.classpath">
> > >            <pathelement location="/usr/local/java/lib/tools.jar"/>
> > >            <fileset dir="${tomcat.home}/common/lib">
> > >                <include name="*.jar"/>
> > >            </fileset>
> > >            <fileset dir="${tomcat.home}/bin">
> > >                    <include name="*.jar"/>
> > >            </fileset>
> > >            <fileset dir="${tomcat.home}/server/lib">
> > >                <include name="*.jar"/>
> > >            </fileset>
> > >        </classpath>
> > >    </taskdef>
> > >
> > >
> > >    <echo>Generating java files out of root jsps</echo>
> > >    <jasper2 outputDir="${root.classes}"
> > >            uriroot="${root.src}"
> > >            verbose="9"
> > >            package="org.apache.jsp"
> > >            compilerSourceVM="1.5"
> > >            compilerTargetVM="1.5"
> > >            validateXml="false">
> > >    </jasper2>
> > >
> > >    <echo>Compiling root java files </echo>
> > >    <javac srcdir="${root.classes}"
> > >           destdir="${root.classes}"
> > >           verbose="false"
> > >           debug="true"
> > >           optimize="false"
> > >           includes="**/*.java"
> > >           fork="yes"
> > >           compilerSourceVM="1.5"
> > >           compilerTargetVM="1.5"
> > >           memoryInitialSize="800m"
> > >           memoryMaximumSize="800m"
> > >           >
> > >        <classpath>
> > >                <pathelement location="${java.home}/../lib/tools.jar"/>
> > >                <pathelement
> > > path="${tomcat.home}/webapps/ROOT/WEB-INF/classes"/>
> > >                <fileset dir="${tomcat.home}/common/lib">
> > >                        <include name="*.jar"/>
> > >                </fileset>
> > >                <fileset dir="${tomcat.home}/webapps/ROOT/WEB-INF/lib">
> > >                        <include name="*.jar"/>
> > >                </fileset>
> > >        </classpath>
> > >    </javac>
> > > </target>
> > >
> > >
> > >
> > > </project>
> > >
> > > suspicious java.home property seems to point to the jre, whether
> > > system JAVA_HOME variable point to the jdk:
> > > /usr/local/java/ -> jdk1.5.0_06_32bit
> > >
> > > I've checked the source code and found that the code in
> > > org.apache.jasper.JspCompilationContext.createCompiler(
> > > JspCompilationContext.java:224)
> > > tries to load the JDT or JAVAC compiler by name. Is it a classloading
> > > issue?
> > >
> > > Thanx in advance
> > >
> > > regards
> > > Leon
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
> >
> > --
> > Marc Farrow
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
Marc Farrow

Reply via email to