2008-10-23 16 views
5

का उपयोग कर जेएसपी को प्रीकंपाइल करने का सबसे अच्छा तरीका क्या है। मैं जेएसपी को प्रीकंपाइल करने के लिए चींटी का उपयोग करने का सबसे अच्छा तरीका जानने का प्रयास कर रहा हूं जो ओरेकल एप्लिकेशन सर्वर पर तैनात किया जाएगा। भले ही मैं ओरेकल ऐप सर्वर पर तैनाती कर रहा हूं, मैं एंट के ओरेकल के संस्करण का उपयोग करने से बचना चाहता हूं।चींटी

उत्तर

2

मुझे यकीन नहीं है कि ओरेकल के चींटी के संस्करण से आपका क्या मतलब है, लेकिन जैसा कि मैं समझता हूं कि आपको यह काम करने के लिए ऑरैकल के चींटी कार्य की आवश्यकता होगी। This पृष्ठ बताता है कि यह कैसे करें। आप अपाचे की चींटी का उपयोग करेंगे जो आप अपाचे वेबसाइट से डाउनलोड करते हैं, लेकिन आपको ओरेकल से ओरेकल एंटी टास्क लाइब्रेरी का उपयोग ओरेकल के लिए जेएसपी को संकलित करने के लिए करना होगा।

+0

टूटी लिंक विकल्प: http://web.archive.org/web/20090717005115/http://download-west.oracle.com/ डॉक्स/सीडी/B32110_01/web.1013/b28961/ojspc.htm –

7

Oracle की JSP कम्पाइलर अपने OC4J ORACLE_HOME/J2EE/घर/jsp/bin/ojspc

में स्थापित में उपलब्ध अपने classpath मान लिया जाये कि compand लाइन पर सही है आप चलाना होता है:

ojspc your.war

युद्ध अपडेट हो जाएगा और पूर्व-संकलित जेएसपी युक्त वेब-आईएनएफ/लिब में एक जार लगाएगा। ध्यान दें कि यदि आपके पूर्व-संकलित जेएसपी आपको अपने जेएसपी को पूर्व-संकलित करने के अतिरिक्त प्रदर्शन लाभ प्राप्त करने के लिए MAIN_MODE को 'जुस्ट्रून' पर भी सेट करना चाहिए। JUSTRUN सेटिंग जो इसका तात्पर्य है, ओसी 4 जे कंटेनर अब अद्यतन .jsp फ़ाइलों की जांच नहीं करेगा।

<servlet> 
    <servlet-name>jsp</servlet-name> 
    <servlet-class>oracle.jsp.runtimev2.JspServlet</servlet-class> 
    <init-param> 
     <param-name>main_mode</param-name> 
     <param-value>justrun</param-value> 
    </init-param> 
</servlet> 

एक बार कमांड लाइन से ojspc बुला के साथ अपने आरामदायक फिर आप ओरेकल द्वारा प्रदान की चींटी कार्य का उपयोग करने के लिए शुरू कर सकते हैं।

चींटी के भीतर

<oracle:compileJsp file="dist/war/before-${app}war" 
     verbose="false" 
     output="dist/war/${app}.war" /> 

आपका परियोजना टैग ओरेकल कार्यों का उल्लेख होना चाहिए:

<project name="your-name" default="compile" basedir="." xmlns:oracle="antlib:oracle"> 
... 
</project> 

अद्यतन 2011/02/22 आप, साथ ही सीधे ojspc जार के साथ काम कर सकते हैं और ऑरैकल को कॉन्फ़िगर करने का प्रयास करने से बचें: compileJsp कार्य, नीचे दिया गया कोड एक युद्ध फ़ाइल और प्री-कंपाइल लेता है इसमें जेएसपीएस।

<!-- Now Precompile the War File (see entry in <project> tag) --> 
    <java jar="${env.ORACLE_HOME}/j2ee/home/ojspc.jar" classpathref="jspPreCompileClassPath" fork="true"> 
     <arg value="-addClasspath"/> 
     <arg pathref="classpath"/> 
     <arg line="'${dist}/war/a-war-file.war'"/> 
    </java> 

jspPreCompileClassPath defnition इस तरह दिखता है:

<path id="jspPreCompileClassPath"> 
    <path location="${env.ORACLE_HOME}/j2ee/home/lib/pcl.jar"/> 
    <path location="${env.ORACLE_HOME}/j2ee/home/lib/ojsp.jar"/> 
    <path location="${env.ORACLE_HOME}/j2ee/home/lib/oc4j-internal.jar"/> 
    <path location="${env.ORACLE_HOME}/j2ee/home/lib/servlet.jar"/> 
    <path location="${env.ORACLE_HOME}/j2ee/home/lib/commons-el.jar"/> 
    <path location="${env.ORACLE_HOME}/j2ee/home/lib/bcel.jar"/> 
    <path location="${env.ORACLE_HOME}/lib/xmlparserv2.jar"/> 
    <path location="${env.ORACLE_HOME}/j2ee/home/lib/oc4j-schemas.jar"/> 
    <path location="${env.ORACLE_HOME}/j2ee/home/jsp/lib/taglib/ojsputil.jar"/> 
    </path>