Rumah  >  Artikel  >  Java  >  Bolehkah Aplikasi Java Berjalan Secara Berasingan Berdasarkan Nama Mereka?

Bolehkah Aplikasi Java Berjalan Secara Berasingan Berdasarkan Nama Mereka?

Barbara Streisand
Barbara Streisandasal
2024-11-03 21:40:30656semak imbas

Can Java Applications Run Separately Based on Their Names?

Memanggil Aplikasi Java dalam Proses Bebas

Soalan:

Bolehkah aplikasi Java dilaksanakan dalam proses berasingan berdasarkan namanya , bebas daripada lokasinya?

Jawapan:

Ya, adalah mungkin untuk melaksanakan aplikasi Java dalam proses berasingan menggunakan nama mereka, bukannya laluan fail mereka. Ini boleh dicapai dalam cara bebas platform dengan memanfaatkan sifat sistem Java.

Untuk menjalankan aplikasi Java dalam proses yang berasingan, anda boleh menggunakan pendekatan berikut:

<code class="java">public class JavaProcess {

    public static int execute(Class<?> appClass, List<String> args) throws IOException, InterruptedException {
        String javaHome = System.getProperty("java.home");
        String javaBin = javaHome + File.separator + "bin" + File.separator + "java";
        String classpath = System.getProperty("java.class.path");
        String className = appClass.getName();

        List<String> command = new LinkedList<>();
        command.add(javaBin);
        command.add("-cp");
        command.add(classpath);
        command.add(className);
        if (args != null) {
            command.addAll(args);
        }

        ProcessBuilder builder = new ProcessBuilder(command);
        Process process = builder.inheritIO().start();
        process.waitFor();
        return process.exitValue();
    }
}</code>

Penggunaan:

<code class="java">int exitCode = JavaProcess.execute(MyApplicationClass.class, arguments);</code>

Pendekatan ini disepadukan dengan lancar dengan mekanisme laluan kelas, membolehkan pelaksanaan mudah aplikasi tanpa mengira lokasi fizikalnya.

Atas ialah kandungan terperinci Bolehkah Aplikasi Java Berjalan Secara Berasingan Berdasarkan Nama Mereka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn