Can?t Precompile JSP?s on WLS6.0 SP2
Hi,
I?m trying to Precompile my JSP?s but when I restart I get this error:
<Jul 30, 2002 4:57:11 PM EDT> <Error> <HTTP> <[WebAppServletContext(5611782,posadasWebApp)] failure pre-compiling JSP's
weblogic.utils.ParsingException: nested TokenStreamException: antlr.TokenStreamException: Could not include ../../../includes/allHeaders.jsp
at weblogic.servlet.jsp.JspLexer.parse(JspLexer.java:900)
at weblogic.servlet.jsp.JspParser.doit(JspParser.java:71)
at weblogic.servlet.jsp.JspParser.parse(JspParser.java:139)
at weblogic.servlet.jsp.Jsp2Java.outputs(Jsp2Java.java:113)
at weblogic.utils.compiler.CodeGenerator.generate(CodeGenerator.java:253)
Does anybody have an idea on what can be wrong?
Thanx in Advanced!!!
Gerardo
may be a known issue. i don't recall.
i would suggest you to try with the latest 60 SP2 RP3 and see if that
helps. If not, pls work with supoprt.
gerardo jimenez wrote:
> Hi,
>
> I?m trying to Precompile my JSP?s but when I restart I get this error:
>
> <Jul 30, 2002 4:57:11 PM EDT> <Error> <HTTP> <[WebAppServletContext(5611782,posadasWebApp)] failure pre-compiling JSP's
> weblogic.utils.ParsingException: nested TokenStreamException: antlr.TokenStreamException: Could not include ../../../includes/allHeaders.jsp
> at weblogic.servlet.jsp.JspLexer.parse(JspLexer.java:900)
> at weblogic.servlet.jsp.JspParser.doit(JspParser.java:71)
> at weblogic.servlet.jsp.JspParser.parse(JspParser.java:139)
> at weblogic.servlet.jsp.Jsp2Java.outputs(Jsp2Java.java:113)
> at weblogic.utils.compiler.CodeGenerator.generate(CodeGenerator.java:253)
>
> Does anybody have an idea on what can be wrong?
>
> Thanx in Advanced!!!
>
> Gerardo
>
Similar Messages
-
Can we precompile JSPs to avoid Weblogic Recompile JSPs
We'll prevent Weblogic 10.3 to Recompile JSPs when deployment and running. So we precompile JSPs when build by weblogic.jspc and added staments below in weblogic.xml, but we failed, weblogic will recompile JSPs as before. Anybody can help me?
<jsp-param>
<param-name>precompile</param-name>
<param-value>false</param-value>
</jsp-param>
<jsp-param>
<param-name>pageCheckSeconds</param-name>
<param-value>-1</param-value>
</jsp-param>
Comman in ANT build file is below:
<java classname="weblogic.jspc" fork="yes" classpath="${esc2.classpath}">
<arg line="-webapp ${esc.buildwardir} -compileAll -compiler javac -d ${esc.buildwardir.classes} -k"/>
<arg line="-J-mx256m"/>
</java>Hi,
If the classes are still being recompiled then you are running different WLS versions - make sure you are compiling your classes using the same release & version as the one to which you are deploying
You can have a look at the below URL for further information
http://download-llnw.oracle.com/docs/cd/E13222_01/wls/docs81/jsp/reference.html -
Hi,
We're using split-directory. Our jsps live inside of WEB-INF to protect them from
direct accessing. Only the Servlet controller can access jsps. A few questions
here:
1. How can I precompile jsps at the compilation time? Appc doesn't work, since
it assumes jsps always live outside of the WEB-INF.
2. Where is the output directory that we should set if we can precompile. Our
jsps are located in WEB-INF/jsps.
3. Right now we leave the server compile them on fly. But where the compiled classes
are stored on the server. We deploy the EAR to the server.
Thanks!Hi,
1) Thanks for pointing this out. Indeed appc & jspc (8.1) don't compile jsps
under WEB-INF and the CR associated with this bug is CR133172. Please
contact [email protected] to obtain a patch for this issue.
2) If appc were used on a split directory ear, the .class files for the
jsps are copied into the destination directory of the split dir (more
specifically into the webapp module's WEB-INF/classes being compiled)
3) When compiled at runtime, the default outputDirectory is under the server
temp dirs : .wlnotdelete/extract/<server-name>_<app/ear-name>_<module-name>/
--Nagesh
"Kelly" <[email protected]> wrote in message
news:40771782$[email protected]..
>
Hi,
We're using split-directory. Our jsps live inside of WEB-INF to protectthem from
direct accessing. Only the Servlet controller can access jsps. A fewquestions
here:
1. How can I precompile jsps at the compilation time? Appc doesn't work,since
it assumes jsps always live outside of the WEB-INF.
2. Where is the output directory that we should set if we can precompile.Our
jsps are located in WEB-INF/jsps.
3. Right now we leave the server compile them on fly. But where thecompiled classes
are stored on the server. We deploy the EAR to the server.
Thanks! -
Re: Precompiling JSP with admin/managed servers
Thanks, but I'm not doing any copying.
The admin/managed-server communication copies things to the managed server,
which then always recompiles the pages when hit.
-Greg
Check out my WebLogic 6.1 Workbook for O'Reilly EJB Third Edition
www.oreilly.com/catalog/entjbeans3 or www.titan-books.com
"Robert Coonrad" <[email protected]> wrote in message
news:[email protected]...
>
> check out post 8366...i found that i was not preserving
> the lastmodified date on my jsps and this was causing
> unnecessary re-compilation.
>
> hope it helps...
> bobc
>
> "Greg Nyberg" <greg.nyberg.at.objectpartners.com> wrote:
> >I believe I have exhausted all permutations of EARing/notEARing,
> >WARing/notWARing, placing precompiled jsp class files in WEB-INF/classes,
> >placing them in a static location and setting workingDir to that
location,
> >combinations of the above.
> >
> >No matter what, the managed server re-compiles pages the first time they
> >are
> >hit. Non admin/managed-server I have no problems.
> >
> >Can anyone from BEA comment on this problem? Or give me a workaround
> >for
> >getting a cluster working with precompiled jsps?
> >
> >-Greg
> >
> >"Greg Nyberg" <greg.nyberg.at.objectpartners.com> wrote in message
> >news:[email protected]...
> >> Grrr... The JSP engine is extremely frustrating! I've spent many hours
> >> fighting the "staleness" checker in WL. I've been through all of the
> >> newsgroup messages pertaining to pre-compiling, etc., and I've gotten
> >> pre-compilation working on single-server deployments, but admin/managed
> >> server deployments have me beat.
> >>
> >> WL6.1, SP1, Solaris
> >>
> >> I've done the pageCheckSeconds=-1 and the workingDir is set to a fixed
> >> place. The fixed place contains pre-compiled versions of all jsps
> >made on
> >> that machine using jspc not 20 minutes earlier using the JSP files
> >in the
> >> exploded EAR file used by the admin server as the model for managed
> >> servers.. The managed servers are on the same machine.
> >>
> >> When the admin server gives an application to a managed server, the
> >managed
> >> server creates a temporary directory containing all of the webapp
> >> components, etc. The file timestamps on these files is the set by
> >the
> >> copying process to the time of the managed server boot (why?!?!????!?),
> >so
> >> the staleness check always thinks they are new and could care less
> >what
> >> precompiled jsps I have in my workingDir, the WEB-INF/classes
directory,
> >or
> >> anywhere else. The pageCheckSeconds=-1 seems to be completely ignored
> >in
> >> this scenario.
> >>
> >> If I tell the managed server to precompile everything on boot (about
> >45
> >> minutes for this app) it will create versions of the classes that match
> >th
> >e
> >> new JSP file timestamps, but this does not even survive a reboot of
> >the
> >> managed server because it AGAIN creates a new temp version of
everything
> >on
> >> the next reboot with new timestamps.
> >>
> >> If I wait for the managed server to boot and find the directory like
> >> .../applications/.wlnotdelete_man1/wlap7336/webapp/... and physically
> >copy
> >> (via cp -pr to retain timestamps) all of the original webapp components
> >on
> >> top of the temp versions, the staleness checker is happy and the
> >> pre-compiled versions work fine.
> >>
> >> There HAS to be a way to package pre-compiled versions of the JSPs
> >in the
> >> "model" application in the admin server and keep from having to
precompile
> >> the JSPs on every managed server every time managed server is booted..
> >>
> >> It would help if we had a way to bypass the staleness checking
> >completely..
> >> Or you guys should make the timestamps on the files copied by the
> >> admin/managed deployment process match properly so the staleness
checker
> >> doesn't think the JSP is different.
> >>
> >> It would also help if the engineer who wrote this could explain the
> >rules
> >> being implemented by the staleness checker. So far all the messages
> >in
> >the
> >> newsgroup have amounted to point solutions for problems without a good
> >> understanding of what the engine is checking for and/or doing under
> >the
> >> covers. Looking at the generated .java files for the JSP pages helps,
> >but
> >> it is not good enough...
> >>
> >> Anyone out there have a working admin/managed server JSP application?
> >> -Greg
> >>
> >> -----------------------------------------------------------
> >> Check out my WebLogic 6.1 Workbook for O'Reilly EJB Third Edition
> >> www.oreilly.com/catalog/entjbeans3 or www.titan-books.com
> >>
> >>
> >>
> >
> >
>
The admin/managed-server communication copies things to the managed server, which then always recompiles the pages when hit.
This is a known issue and is fixed. The timestamps of the compiled classes was not being preserved when extracted from the war file used to distribute to the managed servers. This will be available in WLS6.1 Service Pack 3 - and there is a temporary patch available for SP2. Please ask your friendly BEA support person for it (you can refer to CR058946)
I'd give you the patch myself, but they like to keep track of these things...
Regards,
Alex
"Girish" <[email protected]> wrote in message news:[email protected]...
>
> "Aditya Kiran Gavvala" <[email protected]> wrote:
> >Greg,
> >
> >I have been following your posts, because our application deployment
> >ran
> >into exact same problem you ran into. I had spent a full two days
> >researching into the problem. And I figured the solution. Hope this
> >helps.
> >
> >Here are my discoveries:
> >
> >The following applies only to the following environment:
> >OS: Linux (perhaps for Win/Unix/Solaris etc)
> >WLS 6.0 SP2 ( no rolling patches): I found Rolling Patch2 (RP2) not useful
> >for this problem.
> >Clustered environment with Admin/Managed servers
> >
> >- When you compile JSP using weblogic.jspc compiler it puts the JSP file
> >timestamp into the compiled class. You can see it in the generated java
> >file
> >(you need to supply -keepgenerated switch to jspc)
> >
> >- When a request is made to a JSP page after the application is deployed,
> >it
> >seems to be retrieving this timestamp from the compiled class file and
> >comparing it with the JSP file timestamp. If they dont match a compile
> >command gets run by the server. Thereby you see a compile happening at
> >run
> >time.
> >
> >- If you have exploded directory deployment, when you start the managed
> >servers they create a ".war" file (under some temp dir) with all the
> >JSP
> >source files going into the file. You can notice this by looking into
> >the
> >server log file. Therefore all JSP source files get a brand new timestamp
> >in
> >the archive (a timestamp later than what was put class files by
> >weblogic.jspc). So, the server at run time sees that the timestamp in
> >the
> >class file is older than the JSP source file and runs a recompile. So
> >DONT
> >DO EXPLODED directory deployment if your environment is as described
> >in this
> >post.
> >
> >- If you have ".war" file deployment, you will not have a problem. At
> >the
> >start up time managed server still creates "".war" file under a temp
> >directory however it seems to be copying the content of the your ".war"
> >file. So, the timestamps of JSP remain the same as they were before.
> >SO NO
> >RE-COMPILATION.
> >
> >- Another important thing to remember is to make sure you specify the
> >workingDir in the weblogic.xml file. That is where the precompiled class
> >files should reside. This should be any directory the server uses as
> >scratch
> >pad to compile classes or find (pre)compiled classes. This is not a
> >directory inside your .war file is what I am trying to get at.
> >
> >Hope this helps,
> >Aditya
> >
> >"Greg Nyberg" <greg.nyberg.at.objectpartners.com> wrote in message
> >news:[email protected]...
> >> Thanks, but I'm not doing any copying.
> >>
> >> The admin/managed-server communication copies things to the managed
> >server,
> >> which then always recompiles the pages when hit.
> >>
> >> -Greg
> >>
> >> -----------------------------------------------------------
> >> Check out my WebLogic 6.1 Workbook for O'Reilly EJB Third Edition
> >> www.oreilly.com/catalog/entjbeans3 or www.titan-books.com
> >>
> >> "Robert Coonrad" <[email protected]> wrote in message
> >> news:[email protected]...
> >> >
> >> > check out post 8366...i found that i was not preserving
> >> > the lastmodified date on my jsps and this was causing
> >> > unnecessary re-compilation.
> >> >
> >> > hope it helps...
> >> > bobc
> >> >
> >> > "Greg Nyberg" <greg.nyberg.at.objectpartners.com> wrote:
> >> > >I believe I have exhausted all permutations of EARing/notEARing,
> >> > >WARing/notWARing, placing precompiled jsp class files in
> >WEB-INF/classes,
> >> > >placing them in a static location and setting workingDir to that
> >> location,
> >> > >combinations of the above.
> >> > >
> >> > >No matter what, the managed server re-compiles pages the first time
> >they
> >> > >are
> >> > >hit. Non admin/managed-server I have no problems.
> >> > >
> >> > >Can anyone from BEA comment on this problem? Or give me a workaround
> >> > >for
> >> > >getting a cluster working with precompiled jsps?
> >> > >
> >> > >-Greg
> >> > >
> >> > >"Greg Nyberg" <greg.nyberg.at.objectpartners.com> wrote in message
> >> > >news:[email protected]...
> >> > >> Grrr... The JSP engine is extremely frustrating! I've spent many
> >hours
> >> > >> fighting the "staleness" checker in WL. I've been through all
> >of the
> >> > >> newsgroup messages pertaining to pre-compiling, etc., and I've
> >gotten
> >> > >> pre-compilation working on single-server deployments, but
> >admin/managed
> >> > >> server deployments have me beat.
> >> > >>
> >> > >> WL6.1, SP1, Solaris
> >> > >>
> >> > >> I've done the pageCheckSeconds=-1 and the workingDir is set to
> >a
> >fixed
> >> > >> place. The fixed place contains pre-compiled versions of all
> >jsps
> >> > >made on
> >> > >> that machine using jspc not 20 minutes earlier using the JSP files
> >> > >in the
> >> > >> exploded EAR file used by the admin server as the model for managed
> >> > >> servers.. The managed servers are on the same machine.
> >> > >>
> >> > >> When the admin server gives an application to a managed server,
> >the
> >> > >managed
> >> > >> server creates a temporary directory containing all of the webapp
> >> > >> components, etc. The file timestamps on these files is the set
> >by
> >> > >the
> >> > >> copying process to the time of the managed server boot
> >(why?!?!????!?),
> >> > >so
> >> > >> the staleness check always thinks they are new and could care
> >less
> >> > >what
> >> > >> precompiled jsps I have in my workingDir, the WEB-INF/classes
> >> directory,
> >> > >or
> >> > >> anywhere else. The pageCheckSeconds=-1 seems to be completely
> >ignored
> >> > >in
> >> > >> this scenario.
> >> > >>
> >> > >> If I tell the managed server to precompile everything on boot
> >(about
> >> > >45
> >> > >> minutes for this app) it will create versions of the classes that
> >match
> >> > >th
> >> > >e
> >> > >> new JSP file timestamps, but this does not even survive a reboot
> >of
> >> > >the
> >> > >> managed server because it AGAIN creates a new temp version of
> >> everything
> >> > >on
> >> > >> the next reboot with new timestamps.
> >> > >>
> >> > >> If I wait for the managed server to boot and find the directory
> >like
> >> > >> .../applications/.wlnotdelete_man1/wlap7336/webapp/... and physically
> >> > >copy
> >> > >> (via cp -pr to retain timestamps) all of the original webapp
> >components
> >> > >on
> >> > >> top of the temp versions, the staleness checker is happy and the
> >> > >> pre-compiled versions work fine.
> >> > >>
> >> > >> There HAS to be a way to package pre-compiled versions of the
> >JSPs
> >> > >in the
> >> > >> "model" application in the admin server and keep from having to
> >> precompile
> >> > >> the JSPs on every managed server every time managed server is
> >booted..
> >> > >>
> >> > >> It would help if we had a way to bypass the staleness checking
> >> > >completely..
> >> > >> Or you guys should make the timestamps on the files copied by
> >the
> >> > >> admin/managed deployment process match properly so the staleness
> >> checker
> >> > >> doesn't think the JSP is different.
> >> > >>
> >> > >> It would also help if the engineer who wrote this could explain
> >the
> >> > >rules
> >> > >> being implemented by the staleness checker. So far all the messages
> >> > >in
> >> > >the
> >> > >> newsgroup have amounted to point solutions for problems without
> >a
> >good
> >> > >> understanding of what the engine is checking for and/or doing
> >under
> >> > >the
> >> > >> covers. Looking at the generated .java files for the JSP pages
> >helps,
> >> > >but
> >> > >> it is not good enough...
> >> > >>
> >> > >> Anyone out there have a working admin/managed server JSP application?
> >> > >> -Greg
> >> > >>
> >> > >> -----------------------------------------------------------
> >> > >> Check out my WebLogic 6.1 Workbook for O'Reilly EJB Third Edition
> >> > >> www.oreilly.com/catalog/entjbeans3 or www.titan-books.com
> >> > >>
> >> > >>
> >> > >>
> >> > >
> >> > >
> >> >
> >>
> >>
> >
> >
>
[att1.html]
-
Error in precompiling JSPs using OJSPC
Hi,
I am precompiling JSPs in war file using ojspc as specified below.
ojspc -output myapp.war app.war
However I am getting following error:
Detected archive, now processing contents of app.war...
Setting up temp area...
Expanding archive in temp area...
WARNING: IGNORED file: /WEB-INF/lib/jsf-impl.jar
WARNING: IGNORED file: /WEB-INF/lib/jsf-ri.jar
Parse error in AddNewAttachment.jsp:
oracle.jsp.parse.JspParseException: /AddNewAttachment.jsp: Line # 48,
actionListener="#{addAttachmentBackingBean.cancel}"/>
Error: A String literal value, "#{addAttachmentBackingBean.cancel}", has been pr
ovided for attribute actionListener which has an associated deferred method with
void signature
Removing temp area...
Can anbody help me to solve this problem?
Thanks.
Regards,
UmeshHi,
If I create a method via the binding editor in JDev it creates a managed bean method with a void return type as default.
eg.
public void cmdlink_actionListener(ActionEvent actionEvent) {
// Add event code here...
}could it have anything to do with the two OJSPC warnings? jsf-impl.jar should be included in your war file. I haven't seen this warning when OJSPC is compiling.
Brenden -
Precompiled JSP Compatibility Problem
I am a developer in the Cross Applications Unlimited group. We are experiencing a problem with precompiled jsps in a ADF web application that we have developed. Any help that you can provide with this problem would be much appreciated. Neither Oracle forums nor the internet have yielded any leads to us so far. Here are the specifics of our problem.
In our application, we precompile our JSPs when the EAR is built. The application was initially developed in JDeveloper 10.1.3.2 and worked without problems when deployed to OAS 10.1.3.2. However, our application server MTR recently shifted to OAS 10.1.3.3. We migrated our workspace and projects to JDeveloper 10.1.3.3 and rebuilt our EAR file in JDeveloper 10.1.3.3. We are getting "500 Internal Server Errors" when this new ear file is deployed to OAS 10.1.3.3. The error does not always manifest when running the application. We can login and navigate to JSPs linked directly from our navigation menu (our first level pages). However, in these first level pages are buttons that navigate to second level pages. The error is being seen whenever we try to access one of these second level pages. Everything else about the application works fine. When we don't precompile our JSPs and deploy, the application works fine.
This is the error we find reported in our application logs...
EWCoreViewController: Servlet error
javax.faces.el.PropertyNotFoundException: Error testing property 'inputValue' in bean of type null
at com.sun.faces.el.PropertyResolverImpl.isReadOnly(PropertyResolverImpl.java:274)
at oracle.adfinternal.view.faces.model.FacesPropertyResolver.isReadOnly(FacesPropertyResolver.java:124)
at com.sun.faces.el.impl.ArraySuffix.isReadOnly(ArraySuffix.java:236)
at com.sun.faces.el.impl.ComplexValue.isReadOnly(ComplexValue.java:209)
at com.sun.faces.el.ValueBindingImpl.isReadOnly(ValueBindingImpl.java:266)
Enabling enhanced java logging yields these logs...
<record>
<date>2008-04-09T11:27:25</date>
<millis>1207762045495</millis>
<sequence>258943</sequence>
<logger>com.sun.faces.application.ViewHandlerImpl</logger>
<level>FINE</level>
<class>com.sun.faces.application.ViewHandlerImpl</class>
<method>renderView</method>
<thread>14</thread>
<message>Found no URL patterns mapping to FacesServlet </message>
</record>
<record>
<date>2008-04-09T11:27:25</date>
<millis>1207762045495</millis>
<sequence>258944</sequence>
<logger>com.sun.faces.taglib.jsf_core.ViewTag</logger>
<level>FINE</level>
<class>com.sun.faces.taglib.jsf_core.ViewTag</class>
<method>doStartTag</method>
<thread>14</thread>
<message>Can't leverage base class</message>
<exception>
<message>java.lang.IllegalStateException</message>
<frame>
<class>com.sun.faces.taglib.jsf_core.ViewTag</class>
<method>getComponentType</method>
<line>253</line>
</frame>
Any information anyone can provide would be greatly appreciated.
ThanksHi Ian,
Add this jar file to classpath...use either web interface or directly edit jvm12.conf to modify classpath..
Raj -
How can WLS use JSP pages in a Web Application (either a .war file or a war directory structure) without a java compiler?
I suspect either the JSP specification is flawed (i.e. it doesn't take account of servers using just a JRE), or BEA's implementation is broken.
Production servers do not have a JDK installed. They only have a JRE. Therfore a java compiler is not present on the machine that the Web Application is deployed onto.
On the development machine, when the server is requested to load the JSP it creates a tmpwar directory within the Web Application directory structure. This is then included in the resultant .war file thus:
D:\war>jar -tf gmi.war
META-INF/
META-INF/MANIFEST.MF
gmiService.jsp
WEB-INF/
WEB-INF/classes/
WEB-INF/classes/com/
WEB-INF/classes/com/bt/
WEB-INF/classes/com/bt/gmi/
WEB-INF/classes/com/bt/gmi/gmiService.class
WEB-INF/getList.xsl
WEB-INF/getListByConnection.xsl
WEB-INF/getListByDistrict.xsl
WEB-INF/getListByDistrictConnection.xsl
WEB-INF/lib/
WEB-INF/source/
WEB-INF/source/build.bat
WEB-INF/source/gmiService.java
WEB-INF/web.xml
WEB-INF/weblogic.xml
tmpwar/
tmpwar/jsp_servlet/
tmpwar/jsp_servlet/_gmiservice.class
tmpwar/jsp_servlet/_gmiservice.java
When deployed on the production server with the web.xml file set to use the following values (note XML stripped):
weblogic.jsp.pageCheckSeconds
-1
weblogic.jsp.precompile
false
weblogic.jsp.compileCommand
javac
weblogic.jsp.verbose
true
weblogic.jsp.packagePrefix
jsp_servlet
weblogic.jsp.keepgenerated
false
And in the weblogic.properties file:
weblogic.httpd.webApp.gmi=war/gmi
I've also tried with the .war file, but that insists on creating another tmpwar directory outside of the .war file.
Then, although I have set pageCheckSeconds to -1 (don't check and don't recompile) ter production server still attempts to recompile the JSP's:
Mon Sep 25 11:40:11 BST 2000:<I> <WebAppServletContext-gmi> *.jsp: init
Mon Sep 25 11:40:11 BST 2000:<I> <WebAppServletContext-gmi> *.jsp: param verbose initialized to: true
Mon Sep 25 11:40:11 BST 2000:<I> <WebAppServletContext-gmi> *.jsp: param packagePrefix initialized to: jsp_servlet
Mon Sep 25 11:40:11 BST 2000:<I> <WebAppServletContext-gmi> *.jsp: param compileCommand initialized to: javac
Mon Sep 25 11:40:11 BST 2000:<I> <WebAppServletContext-gmi> *.jsp: param srcCompiler initialized to weblogic.jspc
Mon Sep 25 11:40:11 BST 2000:<I> <WebAppServletContext-gmi> *.jsp: param superclass initialized to null
Mon Sep 25 11:40:11 BST 2000:<I> <WebAppServletContext-gmi> *.jsp: param workingDir initialized to: /opt/wls-servers/gmiServer/weblogic/war/gmi/_tmp_war
Mon Sep 25 11:40:11 BST 2000:<I> <WebAppServletContext-gmi> *.jsp: param pageCheckSeconds initialized to: -1
Mon Sep 25 11:40:11 BST 2000:<I> <WebAppServletContext-gmi> *.jsp: initialization complete
Mon Sep 25 11:40:12 BST 2000:<I> <WebAppServletContext-gmi> Generated java file: /opt/wls-servers/gmiServer/weblogic/war/gmi/_tmp_war/jsp_servlet/gmiService.java
Mon Sep 25 11:40:14 BST 2000:<E> <WebAppServletContext-gmi> Compilation of /opt/wls-servers/gmiServer/weblogic/war/gmi/_tmp_war/jsp_servlet/gmiService.java failed: Exception in thread "main" java.lang.NoClassDefFoundError: sun/tools/javac/Main
java.io.IOException: Compiler failed executable.exec([Ljava.lang.String;[javac, -classpath, /opt/Solaris_JRE_1.2.1_04/lib/rt.jar:/opt/Solaris_JRE_1.2.1_04/lib/i18n.jar:/opt/Solaris_JRE_1.2.1_04/classes:/var/wls/5.1/weblogic/lib/weblogic510sp4boot.jar:/var/wls/5.1/weblogic/classes/boot:/var/wls/5.1/weblogic/eval/cloudscape/lib/cloudscape.jar:/var/wls/5.1/weblogic/lib/wleorb.jar:/var/wls/5.1/weblogic/lib/wlepool.jar:/var/wls/5.1/weblogic/lib/weblogic510sp4.jar:/var/wls/5.1/weblogic/license:/var/wls/5.1/weblogic/classes:/var/wls/5.1/weblogic/lib/weblogicaux.jar:/opt/wls-servers/gmiServer/weblogic/gmiServer/serverclasses:/opt/wls-servers/gmiServer/weblogic/lotusxsl.jar:/opt/wls-servers/gmiServer/weblogic/xerces.jar:/opt/wls-servers/gmiServer/weblogic/logging.jar::/opt/wls-servers/gmiServer/weblogic/war/gmi/WEB-INF/classes:/opt/wls-servers/gmiServer/weblogic/war/gmi/_tmp_war, -d, /opt/wls-servers/gmiServer/weblogic/war/gmi/_tmp_war, /opt/wls-servers/gmiServer/weblogic/war/gmi/_tmp_war/jsp_servlet/gmiService.java])
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.fillInStackTrace(Compiled Code)
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Exception.<init>(Compiled Code)
at java.io.IOException.<init>(Compiled Code)
at weblogic.utils.compiler.CompilerInvoker.compileMaybeExit(Compiled Code)
at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:200)
at weblogic.servlet.jsp.JspStub.compilePage(Compiled Code)
at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:173)
at weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:187)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:118)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:142)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:744)
at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:692)
at weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContextManager.java:251)
at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:363)
at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
at weblogic.kernel.ExecuteThread.run(Compiled Code)
The default Java compiler from sun lives in the tools.jar that comes with
the JDK. Just add that to your set of JARs which are deployed in production
and you should be fine. No need to install the full JDK - just make the
tools.jar available to WebLogic.
Regards
James
James Strachan
=============
email: [email protected]
web: http://www.metastuff.com
"Martin Webb" <[email protected]> wrote in message
news:[email protected]...
>
> How can WLS use JSP pages in a Web Application (either a .war file or a
war directory structure) without a java compiler?
>
> I suspect either the JSP specification is flawed (i.e. it doesn't take
account of servers using just a JRE), or BEA's implementation is broken.
>
> Production servers do not have a JDK installed. They only have a JRE.
Therfore a java compiler is not present on the machine that the Web
Application is deployed onto.
>
> On the development machine, when the server is requested to load the JSP
it creates a tmpwar directory within the Web Application directory
structure. This is then included in the resultant .war file thus:
>
> D:\war>jar -tf gmi.war
> META-INF/
> META-INF/MANIFEST.MF
> gmiService.jsp
> WEB-INF/
> WEB-INF/classes/
> WEB-INF/classes/com/
> WEB-INF/classes/com/bt/
> WEB-INF/classes/com/bt/gmi/
> WEB-INF/classes/com/bt/gmi/gmiService.class
> WEB-INF/getList.xsl
> WEB-INF/getListByConnection.xsl
> WEB-INF/getListByDistrict.xsl
> WEB-INF/getListByDistrictConnection.xsl
> WEB-INF/lib/
> WEB-INF/source/
> WEB-INF/source/build.bat
> WEB-INF/source/gmiService.java
> WEB-INF/web.xml
> WEB-INF/weblogic.xml
> tmpwar/
> tmpwar/jsp_servlet/
> tmpwar/jsp_servlet/_gmiservice.class
> tmpwar/jsp_servlet/_gmiservice.java
>
> When deployed on the production server with the web.xml file set to use
the following values (note XML stripped):
>
> weblogic.jsp.pageCheckSeconds
> -1
>
> weblogic.jsp.precompile
> false
>
> weblogic.jsp.compileCommand
> javac
>
> weblogic.jsp.verbose
> true
>
> weblogic.jsp.packagePrefix
> jsp_servlet
>
> weblogic.jsp.keepgenerated
> false
>
>
> And in the weblogic.properties file:
>
> weblogic.httpd.webApp.gmi=war/gmi
>
> I've also tried with the .war file, but that insists on creating another
tmpwar directory outside of the .war file.
>
>
> Then, although I have set pageCheckSeconds to -1 (don't check and don't
recompile) ter production server still attempts to recompile the JSP's:
>
>
> Mon Sep 25 11:40:11 BST 2000:<I> <WebAppServletContext-gmi> *.jsp: init
> Mon Sep 25 11:40:11 BST 2000:<I> <WebAppServletContext-gmi> *.jsp: param
verbose initialized to: true
> Mon Sep 25 11:40:11 BST 2000:<I> <WebAppServletContext-gmi> *.jsp: param
packagePrefix initialized to: jsp_servlet
> Mon Sep 25 11:40:11 BST 2000:<I> <WebAppServletContext-gmi> *.jsp: param
compileCommand initialized to: javac
> Mon Sep 25 11:40:11 BST 2000:<I> <WebAppServletContext-gmi> *.jsp: param
srcCompiler initialized to weblogic.jspc
> Mon Sep 25 11:40:11 BST 2000:<I> <WebAppServletContext-gmi> *.jsp: param
superclass initialized to null
> Mon Sep 25 11:40:11 BST 2000:<I> <WebAppServletContext-gmi> *.jsp: param
workingDir initialized to:
/opt/wls-servers/gmiServer/weblogic/war/gmi/_tmp_war
> Mon Sep 25 11:40:11 BST 2000:<I> <WebAppServletContext-gmi> *.jsp: param
pageCheckSeconds initialized to: -1
> Mon Sep 25 11:40:11 BST 2000:<I> <WebAppServletContext-gmi> *.jsp:
initialization complete
> Mon Sep 25 11:40:12 BST 2000:<I> <WebAppServletContext-gmi> Generated java
file:
/opt/wls-servers/gmiServer/weblogic/war/gmi/_tmp_war/jsp_servlet/gmiService.
java
> Mon Sep 25 11:40:14 BST 2000:<E> <WebAppServletContext-gmi> Compilation of
/opt/wls-servers/gmiServer/weblogic/war/gmi/_tmp_war/jsp_servlet/gmiService.
java failed: Exception in thread "main" java.lang.NoClassDefFoundError:
sun/tools/javac/Main
>
> java.io.IOException: Compiler failed
executable.exec([Ljava.lang.String;[javac, -classpath,
/opt/Solaris_JRE_1.2.1_04/lib/rt.jar:/opt/Solaris_JRE_1.2.1_04/lib/i18n.jar:
/opt/Solaris_JRE_1.2.1_04/classes:/var/wls/5.1/weblogic/lib/weblogic510sp4bo
ot.jar:/var/wls/5.1/weblogic/classes/boot:/var/wls/5.1/weblogic/eval/cloudsc
ape/lib/cloudscape.jar:/var/wls/5.1/weblogic/lib/wleorb.jar:/var/wls/5.1/web
logic/lib/wlepool.jar:/var/wls/5.1/weblogic/lib/weblogic510sp4.jar:/var/wls/
5.1/weblogic/license:/var/wls/5.1/weblogic/classes:/var/wls/5.1/weblogic/lib
/weblogicaux.jar:/opt/wls-servers/gmiServer/weblogic/gmiServer/serverclasses
:/opt/wls-servers/gmiServer/weblogic/lotusxsl.jar:/opt/wls-servers/gmiServer
/weblogic/xerces.jar:/opt/wls-servers/gmiServer/weblogic/logging.jar::/opt/w
ls-servers/gmiServer/weblogic/war/gmi/WEB-INF/classes:/opt/wls-servers/gmiSe
rver/weblogic/war/gmi/_tmp_war, -d,
/opt/wls-servers/gmiServer/weblogic/war/gmi/_tmp_war,
/opt/wls-servers/gmiServer/weblogic/war/gmi/_tmp_war/jsp_servlet/gmiService.
java])
> at java.lang.Throwable.fillInStackTrace(Native Method)
> at java.lang.Throwable.fillInStackTrace(Compiled Code)
> at java.lang.Throwable.<init>(Compiled Code)
> at java.lang.Exception.<init>(Compiled Code)
> at java.io.IOException.<init>(Compiled Code)
> at
weblogic.utils.compiler.CompilerInvoker.compileMaybeExit(Compiled Code)
> at
weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvoker.java:200)
> at weblogic.servlet.jsp.JspStub.compilePage(Compiled Code)
> at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:173)
> at
weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:18
7)
> at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:118)
> at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:142)
> at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:744)
> at
weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
l.java:692)
> at
weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
Manager.java:251)
> at
weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:363)
> at
weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
> at weblogic.kernel.ExecuteThread.run(Compiled Code)
>
>
>
-
Precompiling JSPs Outside Weblogic Home Directory
Using Weblogic Server 9.2. Was able to precompile JSPs in a war file with weblogic.appc at the command line with only the weblogic.jar inside the Weblogic installation directory in my classpath. I then translated this into an Ant task, and because the script may need to run on a box that does not have Weblogic installed, copied weblogic.jar to my build area and included that one in my classpath. It immediately began throwing NoClassDefFound exceptions. Discovered the "Class-Path" list of additional jars in the MANIFEST inside weblogic.jar, searched these jars and found all of the missing classes--except for the last one. The missing class is org/apache/bcelx/classfile/ClassParser, and the error I'm getting is "WARNING: unable to get an input stream for jar:file:D:\APPS\Java\jdk1.5.0_13\jre\lib\rt.jar!" followed by java.lang.NoClassDefFoundError. The error occurs in javelin.java.JavaClassFile.getParseTree() at line 178. There is a BCEL Apache project, but they have no mention of BCELX on their website. Anyone know where I can find this class, or source code for javelin.java.JavaClassFile?
Edited by willhandley at 06/06/2008 10:25 AMI tried the wlappc target:
<target name="_precompile-jsp">
<taskdef name="wlappc" classname="weblogic.ant.taskdefs.j2ee.Appc" classpathref="class.path" />
<echo message="Precompiling JSPs in ${appfile}"/>
<wlappc source="${appfile}" debug="true" verbosejavac="true" verbose="true" runtimeflags="-J-ms1024m -J-mx2048m"/>
</target>
But I keep getting:
[java] [wlappc] java.lang.OutOfMemoryError: Java heap space
We've got quite a lot of jsps in our application. It seems the memory options are being ignored and it seems other people have experienced the same problem with the memory options being ignored when using wlappc and have switched to weblogic.appc.
When I switch to weblogic.appc I don't get the out of memory issue, though of course I'm still getting the initial stack trace reported. Any other ideas? -
Precompiling JSP with admin/managed servers
Grrr... The JSP engine is extremely frustrating! I've spent many hours
fighting the "staleness" checker in WL. I've been through all of the
newsgroup messages pertaining to pre-compiling, etc., and I've gotten
pre-compilation working on single-server deployments, but admin/managed
server deployments have me beat.
WL6.1, SP1, Solaris
I've done the pageCheckSeconds=-1 and the workingDir is set to a fixed
place. The fixed place contains pre-compiled versions of all jsps made on
that machine using jspc not 20 minutes earlier using the JSP files in the
exploded EAR file used by the admin server as the model for managed
servers.. The managed servers are on the same machine.
When the admin server gives an application to a managed server, the managed
server creates a temporary directory containing all of the webapp
components, etc. The file timestamps on these files is the set by the
copying process to the time of the managed server boot (why?!?!????!?), so
the staleness check always thinks they are new and could care less what
precompiled jsps I have in my workingDir, the WEB-INF/classes directory, or
anywhere else. The pageCheckSeconds=-1 seems to be completely ignored in
this scenario.
If I tell the managed server to precompile everything on boot (about 45
minutes for this app) it will create versions of the classes that match the
new JSP file timestamps, but this does not even survive a reboot of the
managed server because it AGAIN creates a new temp version of everything on
the next reboot with new timestamps.
If I wait for the managed server to boot and find the directory like
.../applications/.wlnotdelete_man1/wlap7336/webapp/... and physically copy
(via cp -pr to retain timestamps) all of the original webapp components on
top of the temp versions, the staleness checker is happy and the
pre-compiled versions work fine.
There HAS to be a way to package pre-compiled versions of the JSPs in the
"model" application in the admin server and keep from having to precompile
the JSPs on every managed server every time managed server is booted..
It would help if we had a way to bypass the staleness checking completely..
Or you guys should make the timestamps on the files copied by the
admin/managed deployment process match properly so the staleness checker
doesn't think the JSP is different.
It would also help if the engineer who wrote this could explain the rules
being implemented by the staleness checker. So far all the messages in the
newsgroup have amounted to point solutions for problems without a good
understanding of what the engine is checking for and/or doing under the
covers. Looking at the generated .java files for the JSP pages helps, but
it is not good enough...
Anyone out there have a working admin/managed server JSP application?
-Greg
Check out my WebLogic 6.1 Workbook for O'Reilly EJB Third Edition
www.oreilly.com/catalog/entjbeans3 or www.titan-books.com
check out post 8366...i found that i was not preserving
the lastmodified date on my jsps and this was causing
unnecessary re-compilation.
hope it helps...
bobc
"Greg Nyberg" <greg.nyberg.at.objectpartners.com> wrote:
>I believe I have exhausted all permutations of EARing/notEARing,
>WARing/notWARing, placing precompiled jsp class files in WEB-INF/classes,
>placing them in a static location and setting workingDir to that location,
>combinations of the above.
>
>No matter what, the managed server re-compiles pages the first time they
>are
>hit. Non admin/managed-server I have no problems.
>
>Can anyone from BEA comment on this problem? Or give me a workaround
>for
>getting a cluster working with precompiled jsps?
>
>-Greg
>
>"Greg Nyberg" <greg.nyberg.at.objectpartners.com> wrote in message
>news:[email protected]...
>> Grrr... The JSP engine is extremely frustrating! I've spent many hours
>> fighting the "staleness" checker in WL. I've been through all of the
>> newsgroup messages pertaining to pre-compiling, etc., and I've gotten
>> pre-compilation working on single-server deployments, but admin/managed
>> server deployments have me beat.
>>
>> WL6.1, SP1, Solaris
>>
>> I've done the pageCheckSeconds=-1 and the workingDir is set to a fixed
>> place. The fixed place contains pre-compiled versions of all jsps
>made on
>> that machine using jspc not 20 minutes earlier using the JSP files
>in the
>> exploded EAR file used by the admin server as the model for managed
>> servers.. The managed servers are on the same machine.
>>
>> When the admin server gives an application to a managed server, the
>managed
>> server creates a temporary directory containing all of the webapp
>> components, etc. The file timestamps on these files is the set by
>the
>> copying process to the time of the managed server boot (why?!?!????!?),
>so
>> the staleness check always thinks they are new and could care less
>what
>> precompiled jsps I have in my workingDir, the WEB-INF/classes directory,
>or
>> anywhere else. The pageCheckSeconds=-1 seems to be completely ignored
>in
>> this scenario.
>>
>> If I tell the managed server to precompile everything on boot (about
>45
>> minutes for this app) it will create versions of the classes that match
>th
>e
>> new JSP file timestamps, but this does not even survive a reboot of
>the
>> managed server because it AGAIN creates a new temp version of everything
>on
>> the next reboot with new timestamps.
>>
>> If I wait for the managed server to boot and find the directory like
>> .../applications/.wlnotdelete_man1/wlap7336/webapp/... and physically
>copy
>> (via cp -pr to retain timestamps) all of the original webapp components
>on
>> top of the temp versions, the staleness checker is happy and the
>> pre-compiled versions work fine.
>>
>> There HAS to be a way to package pre-compiled versions of the JSPs
>in the
>> "model" application in the admin server and keep from having to precompile
>> the JSPs on every managed server every time managed server is booted..
>>
>> It would help if we had a way to bypass the staleness checking
>completely..
>> Or you guys should make the timestamps on the files copied by the
>> admin/managed deployment process match properly so the staleness checker
>> doesn't think the JSP is different.
>>
>> It would also help if the engineer who wrote this could explain the
>rules
>> being implemented by the staleness checker. So far all the messages
>in
>the
>> newsgroup have amounted to point solutions for problems without a good
>> understanding of what the engine is checking for and/or doing under
>the
>> covers. Looking at the generated .java files for the JSP pages helps,
>but
>> it is not good enough...
>>
>> Anyone out there have a working admin/managed server JSP application?
>> -Greg
>>
>> -----------------------------------------------------------
>> Check out my WebLogic 6.1 Workbook for O'Reilly EJB Third Edition
>> www.oreilly.com/catalog/entjbeans3 or www.titan-books.com
>>
>>
>>
>
>
-
Using precompiled JSPs on Sun ONE 6.1 SP5
I"m using precompiled JSPs on Sun ONE 6.1 SP5. I have created a virtual server which has one web application deployed as the default web application located at <server-instance>/webapps/myapp. So in the server.xml it appears as :
<webapp uri="/" path="<server-instnce/webapps/myapp"
I have precompiled the JSPs using the jspc tool and created the directory containing the class files and have put them under WEB-INF/classes directory. I also generated the web.xml file with mappings for all jsps.
My problem is that in my web.xml I have specified the <welcome-file> as index.jsp which used to reside under the <server-instance>/webapps/myapp directory. but now since i'm using precompiled versions i have physically removed that file. And now when i point my browser to the app's URL in the browser, i get the app's directory structure and only when i explicitly point my browser to https://<ip>:port/index.jsp then only the index.jsp page is invoked. I'm confused with this behavior. Do I need to change my docsroot directory to point to where the jsp class files are stored? I dont know what else can be going wrong...
Any help appreciated :D
ThanksOkkay i'll make my question easier.. if i'm using precompiled JSPs i.e. all compiled JSP files (.class files) including index.jsp is in the WEB-INF/classes directory then what is our docroot property supposed to be. Since if I give the document root as <server-instance>/webapps/myapp then it doesnt show the index.jsp that its supposed to when i point my browser to https://<host>:port. Only when I do https://<host>:port/index.jsp the index.jsp servlet is called and the index.jsp page is rendered.... I removed all the jsps physically from my apps folder but when I put only index.jsp there then it does work properly.... so any thoughts on this anyone...
-
Hi,
We are trying to do this:
- precompile foo.jsp to foo.class offline;
- copy foo.class and foo.jsp into a machine weblogic is running,
maintain their timestamp when they are compiled and generated;
- when accessing foo.jsp, we hope weblogic will load the precompiled
foo.class, instead of recompile the foo.jsp again.
This works well if foo.jsp has not been access (not loaded into
weblogic yet). BUT, if foo.jsp is accessed before (loaded into
weblogic), the new foo.jsp is always recompiled.
We can hot deploy the compiled foo.class using servlet hot deploy,
but we do not want to use the console. (Is there a command line thing
to do servlet hot deploy)?
Is there any other way to do this? The goal -- precompile .jsp,
server reload the changed .class, never compile .jsp on server.
We are using WebLogic 5.1.0 with service pack3.
Any help appreciated.
Thanks,
-- JinThis is a good question. I will ask the developers.
Thanks,
Michael
Michael Girdley
Product Manager, WebLogic Server & Express
BEA Systems Inc
Jin Hong <[email protected]> wrote in message news:[email protected]..
>
Hi,
We are trying to do this:
- precompile foo.jsp to foo.class offline;
- copy foo.class and foo.jsp into a machine weblogic is running,
maintain their timestamp when they are compiled and generated;
- when accessing foo.jsp, we hope weblogic will load the precompiled
foo.class, instead of recompile the foo.jsp again.
This works well if foo.jsp has not been access (not loaded into
weblogic yet). BUT, if foo.jsp is accessed before (loaded into
weblogic), the new foo.jsp is always recompiled.
We can hot deploy the compiled foo.class using servlet hot deploy,
but we do not want to use the console. (Is there a command line thing
to do servlet hot deploy)?
Is there any other way to do this? The goal -- precompile .jsp,
server reload the changed .class, never compile .jsp on server.
We are using WebLogic 5.1.0 with service pack3.
Any help appreciated.
Thanks,
-- Jin -
I am precompiling JSPs in one node of the cluster and trying to reuse
the generated class files in other nodes. I am having no luck. Each
node is doing its own precompilation when I start managed node. Is
there any way to get the nodes to share compiled JSPs? This will make
starting other nodes of the cluster very quick. I am using WL6.0 sp2
release.
Thanks in advance.
Mahendra Gharpuray
It's probably recompiling the JSPs because the time-stamps on the source
JSPs don't match those on the class files. After you precompile on one
machine, copy BOTH the .class files and the .jsp files with a tool that
preserves the dates.
Mike
"Mahendra Gharpuray" <[email protected]> wrote in message
news:[email protected]..
> I am precompiling JSPs in one node of the cluster and trying to reuse
> the generated class files in other nodes. I am having no luck. Each
> node is doing its own precompilation when I start managed node. Is
> there any way to get the nodes to share compiled JSPs? This will make
> starting other nodes of the cluster very quick. I am using WL6.0 sp2
> release.
>
> Thanks in advance.
>
> Mahendra Gharpuray
-
Precompiling JSPs Programatically
Does anyone know how we can precompile JSP programatically?
We are writing a batched java application that will create a series of JSP
files on a nightly basis. We would like to compile these files when they
are created to save some time when users hit these scripts for the first
time.
Any help would be excellent. Thanks in advance,
Marcus
[email protected]
Hi,
the documentation
(http://www.weblogic.com/docs51/classdocs/API_jsp.html#compiler) should
tell you how. It's pretty easy. Personnally I compile the generated java
with the jikes compiler.
I'm attaching a UNIX sh script that does this. You won't be able to run
it because it depends on other scripts and a special setup but you will
get idea :)
Mathieu
Marcus Leon wrote:
>
> Does anyone know how we can precompile JSP programatically?
>
> We are writing a batched java application that will create a series of JSP
> files on a nightly basis. We would like to compile these files when they
> are created to save some time when users hit these scripts for the first
> time.
>
> Any help would be excellent. Thanks in advance,
>
> Marcus
> [email protected]
[precompileWebApp.sh]
-
Tomcat 4.0 Precompile JSP - Help!
I wish to create an Ant script to precompile my JSP as the project I'm working on is being reworked so objects are changing and JSP needs to be updated accordingly. At the moment we have to navigate the site to find any effects of changing an object - so we may not get a page compilation error for some time.
Can anyone point me in the right direction to find help on compiling my JSP. I don't even know where to start. I cannot find anything on the Jakarta site ... Help!!!I've never tried it, but Ant does have an optional task called JspC to precompile JSP pages...
http://jakarta.apache.org/ant/manual/OptionalTasks/jspc.html -
Hi,
I have precompiled my JSPs using the pre-compile option in the browser.(For
eg http://localhost:8080/Myapp/addCustomer.jsp?pre-compile)
I get the java and class files for each of the JSPs. These files are placed
in the work folder of Tomcat(ie
\jakarta-tomcat-5.0.16\work\Catalina\localhost\Myapp\org\apache\jsp).
If I want to deploy the web application as a WAR file (without the JSPs),
where should I place the .class files of the JSPs?
I have made entries in web.xml as shown below for each of the JSP files .
But , I get a 404 error when I try to access the
JSP(http://localhost:8080/Myapp/addCustomer.jsp).
<servlet>
<servlet-name>addCustomer_jsp</servlet-name>
<servlet-class>/Myapp/addCustomer_jsp</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>addCustomer_jsp</servlet-name>
<url-pattern>/Myapp/addCustomer.jsp</url-pattern>
</servlet-mapping>
It is not a must that I deploy it as a WAR file. But, where should I place
the precompiled JSPs so that I can access them from a browser? I am working
on Tomcat 5.
Thanks in advance.Copy Jsps to install_dir/webapps/ROOT and access them with http://localhost/filename
-
Precompile JSPs before deployment
Does anyone have a working sample of precompiled JSPs distributed inside an EAR for deployment on an Oracle 10g app server?
I'm almost convinced it's impossible. Please prove me wrong.I am glad to know that ojspc is indeed getting better.
Right, some ant file types can be helpful to provide list of files as argument to java command. Nice try!
For a while, I was down the road of using the batch mode against the ear but that is a
mess because it puts all the output in a "_pages" folder under the html root. I couldn't find
a way to change that behavior.This was changed in the next release 10.1.3, where the generated classes are put into a jar inside WEB-INF/lib/. The only way to get around it in 10.1.2 is to extract the ear/war file so that you will get a hold on the generated classes. Then you can put them in WEB-INF/lib or WEB-INF/classes and re-wrap the ear/war file.
It takes 8 minutes to compile 173 JSPs. I have an AMD 2200+ with 1GB RAM. You can use the "-verbose" option to feel how long each group of files got compiled. Does your jsp files have different encodings? Currently if a jsp file with each encoding is encountered, the java compiler used by ojspc will be recreated, which takes quite some time. Looking ahead, we are preparing to speed up the compile process by reusing the java compiler.
I'm not sure why ojspc can't do the directory recursion by itself.I will see if directory recursion should be implemented. Other options are also considered, like a deploy time option to compile all jsp artifacts. Do you think that would be a better option?
There also seems to be a bug in batch mode if ojspc is run from the Same directory as specified in the appRoot parameter.Can you give a bit more detail so that I can reproduce it? Thanks.
Try it out. Overall, it wasn't a very intuitive experience. Thanks for your feedback. I believe your experience will be getting better with each release.
Maybe you are looking for
-
Can I change two devices of my Id and assign new id's and still access the same cloud.
After ISO8 my sons iPad rings when I receive a call. I have two 5c's and an iPad under one apple id. Can I assign a new id to my wife's phone and my son's iPad and then all of use the same cloud under the new update? Will my wife lose her contacts? I
-
Been having project play back problems for about a month. Sometimes when I open a project the volume of certain tracks is low and or distorted. Oddly if a midi track is panned to the center (0) its volume is too low and if I pan right or left the t
-
I TUNES 8 REFUSES TO IMPORT ANY VIDEO !!!
Please can somebody help - I used to be able to import mp4 videos converted with toast or isquint into itunes with no problem but it won't work with itunes 8 . If I try dragging the video files to my library they just 'bounce' back - have tried the i
-
Externally created pagination buttons
Hi there, How do I create "externally created pagination buttons" ? In a multi-page tabular report, I would like to submit each page before I go to next page (to save updates). Am I right in guessing that I could use custom buttons to submit the page
-
SAP data collection framework - owner change
Hi, in the data collection framework there is an owner assigned to all data collectors. In general the owner is the SID system itself. If another system (i.e. solman) is connected to the system, the owner of the data collector changes to that system.