2012-03-01 11 views
5

मुझे जेटी चलाने की आवश्यकता है, युद्ध फ़ाइल निर्दिष्ट करें और इसे जेटी द्वारा विशिष्ट स्थान पर अनपॅक किया गया है। जेटी का सामान्य व्यवहार टीईएमपी निर्देशिका या JETTY_HOME/कार्य निर्देशिका लेना है और इस तरह नामित उप-फ़ोल्डर में युद्ध-फ़ाइल को अनपैक करना है: जेटी-HOST-PORT-CONTEXT.war -_- any- यह हमारे लिए बिल्कुल अनुचित है पर्यावरण क्योंकि पोर्ट भाग यादृच्छिक है। जेट-जेट द्वारा युद्ध-फ़ाइल को अनपॅक किया जाना चाहिए और गंतव्य 100% लचीला होना चाहिए।जेट्टी: अनपैक .war विशिष्ट फ़ोल्डर

क्या यह संभव है? कृपया सलाह दें। जेटी विशेषज्ञता का मेरा क्षेत्र नहीं है, अगर मुझे लंगड़ा या तुच्छ है तो मुझे माफ़ कर दो, हालांकि गुगलिंग ने ज्यादा मदद नहीं की।

बहुत बहुत धन्यवाद!

+0

http://wiki.eclipse.org/Jetty/Howto/Deploy_Web_Applications#Deploying_Webapps? – Jayan

+0

क्या आप बता सकते हैं _why_ आपको इस व्यवहार की आवश्यकता है? मुझे लगता है कि आप गलत समस्या को हल करने की कोशिश कर रहे हैं ... – Tim

+0

@ टिम एक ऐसा एप्लिकेशन है जो जेटी को निम्न तरीके से शुरू करना होगा: कमांड-टू-स्टार्ट-जेटी पोर्ट पथ-टू-वॉर-फ़ाइल पथ-जहां करने वाली डाल-निकाले युद्ध फ़ाइल। एप्लिकेशन श्रमिकों का नियंत्रण लेता है और शुरुआत में यादृच्छिक उपलब्ध पोर्ट सेट करता है। – Slava

उत्तर

5

सभी को धन्यवाद। मैं आवश्यकता निम्न कोड के साथ घाट का विस्तार प्राप्त करने के लिए प्रबंधित किया है:

int port = 8080; 
String context_path = "/"; 
File tmp_directory = "C:\\some-custom-path\\"; 
String war_path = "C:\\path-to-a\\file.war"; 

WebAppContext app = new WebAppContext(); 
app.setContextPath(context_path); 
app.setWar(war_path); 
app.setTempDirectory(tmp_directory); 

Server server = new Server(port); 
server.setHandler(app); 
server.start(); 
server.join(); 

app.setTempDirectory कॉल जेट्टी कस्टम फ़ोल्डर में युद्ध फ़ाइल खोल बनाता है। मुझे कोई अन्य रास्ता नहीं मिला है लेकिन समाधान मुझे सही बनाता है।

1

(यह कोशिश नहीं की गई, केवल विकी पेज jetty wiki से पढ़ना) आप युद्ध को पूर्वनिर्धारित भेदभाव में निकाल सकते हैं। और उसके बाद उस फ़ोल्डर को setWar तर्क के रूप में प्रदान करें।

Server server = new Server(8080); 
    WebAppContext webapp = new WebAppContext(); 
    webapp.setContextPath("/"); 
    webapp.setWar(jetty_home+"/webapps/testlocation/"); 
    server.setHandler(webapp); 
+0

धन्यवाद। क्या यह विन्यास फाइलों के माध्यम से संभव है? – Slava

संबंधित मुद्दे