जावा स्विंग के अंदर शेल कमांड लाइन कैसे चलाएं?


मैं डेबियन लिनक्स 12 पर जावा का शुरुआती प्रोग्रामर हूं (बाद में फ्रीबीएसडी 14 पर भी हो सकता है) और मैं वेबडेवलपमेंट के लिए जेट्टी, ग्लासफिश और वाइल्डफ्लाई जैसे कुछ जावा वेब सर्वर लॉन्च करने और कुछ HTML चलाने के लिए एक छोटा एप्लिकेशन जावा स्विंग लॉन्चर बनाना चाहता हूं। 5 टेम्प्लेट (यह जांचने के लिए कि वे प्रत्येक जावा वेब सर्वर में कैसे चलते हैं)। मुझे दो जावा स्रोत कोड मिले (एक जावा स्विंग इंटरफ़ेस बनाने के लिए और एक जो यूनिक्स शेल स्क्रिप्ट चलाता है) केवल एक चीज यह है कि मुझे नहीं पता कि कैसे जावा स्विंग ऐप के अंदर यूनिक्स कमांड को चलाने के लिए जावा को कैसे एकीकृत किया जाए या कैसे बनाया जाए। क्या ऐसा संभव है? और क्या जावा सर्वर लॉन्चर की प्रक्रिया को रोकने के लिए एक नया बटन बनाने का कोई तरीका है? , यहां जावा सर्वर लॉन्चर का कोड है:

जावा
import java.awt.*;
import javax.swing.*;

public class JavaServerLauncher {

    static JFrame frame;
    static JPanel panel, panelData;
    static JMenuBar menuBar;
    static JMenu menuFile, menuSetting, menuOption;
    static JMenuItem itemNew, itemOpen, itemSave, itemPrint, itemOption, itemClose, itemView, itemReports;
    static JToolBar toolBar;
    static Icon iconMenu = UIManager.getIcon("html.pendingImage");
    static JButton barSave, barEdit, barClear, barDelete;
    static ButtonGroup group;
    static JRadioButtonMenuItem subFont1, subFont2, subFont3, subFont4, subFont5;
    static JCheckBoxMenuItem checkPrefer;
    static JLabel label;
    static JTextField textFirst, textMiddle, textLast;
    static JCheckBox checkGender;

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                gui();
            }
        });
    }

    public static void gui() {

        frame = new JFrame("Java Server Launcher for Debian Linux");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(550, 300);

        JavaServerLauncher myMenu = new JavaServerLauncher();
        myMenu.myMenuBar();
        myMenu.myToolBar();
        frame.setJMenuBar(menuBar);
        frame.add(toolBar, BorderLayout.SOUTH);

        frame.pack();
        frame.setVisible(true);
    }

    public void myToolBar() {

        toolBar = new JToolBar(JToolBar.HORIZONTAL);
        frame.add(toolBar);


        barSave = new JButton("Apache TomCat", iconMenu);
        toolBar.add(barSave);

        barEdit = new JButton("Jetty Server", iconMenu);
        toolBar.add(barEdit);

        barClear = new JButton("GlassFish 7", iconMenu);
        toolBar.add(barClear);

        barDelete = new JButton("Wild Fly", iconMenu);
        toolBar.add(barDelete);
        
        barDelete = new JButton("Turn Off", iconMenu);
        toolBar.add(barDelete);
    }

    public void myMenuBar() {
        menuBar = new JMenuBar();
        frame.setJMenuBar(menuBar);

    }
}

मैंने क्या प्रयास किया है:

मैंने कुछ वेब पेजों में इसे Google पर जांचा है, लेकिन उत्तर नहीं मिला, कुछ उपयोगकर्ताओं ने मुझे प्रोसेस बिल्डर के बारे में बताया, लेकिन मुझे जावा स्विंग के साथ प्रोसेस बिल्डर के साथ कोई स्रोत कोड नहीं मिला।

समाधान 1

जैसा कि आपको पहले ही सुझाव दिया गया है कि आपको इसका उपयोग करने की आवश्यकता है प्रोसेसबिल्डर (जावा एसई 18 और जेडीके 18)[^]. दस्तावेज़ दिखाता है कि एक कमांड कैसे बनाएं और इसे शुरू करने के लिए इस और संबंधित कक्षाओं का उपयोग कैसे करें। और यहाँ नमूना कोड के साथ एक ट्यूटोरियल है: https://www.baeldung.com/java-lang-processbuilder-api[^].

コメント

タイトルとURLをコピーしました