2013-01-11 13 views
12

से node.js स्क्रिप्ट को कॉल करना मैं जावा के अंदर node.js कैसे कॉल कर सकता हूं और स्ट्रिंग चर में console.log मानों को सहेज सकता हूं?अंदर जावा

उत्तर

3

जावा एप्लिकेशन के लिए चल रहे नोड.जेएस एप्लिकेशन के साथ संवाद करने के लिए यह संभव है। उदाहरण के लिए, आपके पास एक उपलब्ध पोर्ट पर एक नोड.जेएस ऐप चल रहा है और जावा ऐप टीसीपी सॉकेट के माध्यम से इसके साथ संवाद कर सकता है।

http://nodejs.org/api/net.html

या आप एक http सर्वर बना सकते हैं और एक आराम सेवा है जो अपने जावा अनुप्रयोग का उपभोग कर सकते बेनकाब कर सकते हैं।

http://nodejs.org/api/http.html

या के रूप में md_5 कहते हैं, आप Runtime.exec उपयोग कर सकते हैं और फिर जिसके परिणामस्वरूप प्रक्रिया पर getInputStream कहते हैं।

http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html

तरीकों से आप Node.js और जावा के बीच संवाद कर सकते हैं अन्य पार आवेदन संचार कि किया जा सकता है से अलग नहीं कर रहे हैं।

नोड-जावा जैसे कुछ का उपयोग करके अपने कोड से जावा कोड को भी शामिल करना भी संभव है।

https://github.com/nearinfinity/node-java

+0

मैं Runtime.getRuntime() का उपयोग कर JSHint कॉल करने की कोशिश कार्यकारी (...), लेकिन मैं अपवाद मिलती रहती है:। Java.io.IOException: कार्यक्रम चलाने नहीं कर सकते "JSHint" CreateProcess त्रुटि = 2, प्रणाली निर्दिष्ट फ़ाइल नहीं मिल सका; नियमित कमांड लाइन से यह ठीक काम करता है, हालांकि ... मुझे कोई समस्या नहीं है कि समस्या है :( –

+0

आपने अभी चलने वाले node.js ऐप से कनेक्ट करने का उल्लेख किया है, लेकिन ऐसा नहीं है। नोड चलाने के लिए समाधान हैं @Somatik द्वारा उल्लिखित जेवीएम के अंदर .js ऐप्स। –

+0

यह उत्तर पूरी तरह से असंबंधित है, मुझे आश्चर्य है कि इसका वोट क्यों है !! – Willa

0

नहीं किया जा सकता है। सामान्य जेएस के लिए आप राइनो का उपयोग कर सकते हैं, लेकिन नोड के लिए आपको यह सुनिश्चित करना होगा कि यह पैथ में है, फिर Runtine.exec या ProcteBuilder को ByteArrayOutputsreams के साथ कॉल करें जिसे बाद में तारों में घुमाया जा सकता है। नोड कोड जावा तक पहुंच नहीं सकता है और इसके विपरीत।

6

चेक इन परियोजनाओं जो आप JVM

+3

नोडन अब सक्रिय रूप से बनाए रखा नहीं जा रहा है। (नोडिन जिथब साइट से) – esthrim

+0

... अवतार- जेएस – Clijsters

0

हां, यह है जावा का उपयोग करके निष्पादित करने के लिए ry eassy और node.js फ़ाइल।

import java.io.FileReader; 
import javax.script.ScriptEngine; 
import javax.script.ScriptEngineManager; 

public class RunScriptFileDemo { 
    public static void main(String[] args) { 
     ScriptEngineManager manager = new ScriptEngineManager(); 
     ScriptEngine engine = manager.getEngineByName("js"); 
     try { 
     FileReader reader = new FileReader("yourFile.js"); 
     engine.eval(reader); 
     reader.close(); 
     } catch (Exception e) { 
     e.printStackTrace(); 
     } 
    } 
} 
+4

यह नोड.जेएस प्रोग्राम नहीं चलाएगा। यह केवल सादा जावास्क्रिप्ट प्रोग्राम चलाएगा। जैसा कि अन्य टिप्पणीकारों ने कहा है, किसी को काम करने के लिए Node.js की कोई विशेषताओं को प्राप्त करने के लिए अवतार.जेएस, नोडिन या ट्रायटम जोड़ने की आवश्यकता होगी। – AllenKll

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