0

2 つのパラメーターを持つ特定のクラスのメイン メソッドを実行することになっている ProcessBuilder があります。これが機能するかどうかをテストするためだけに、メイン メソッドで小さな JFrame を作成しました。

Eclipse でコードを実行すると JFrame が取得されますが、これを JAR としてエクスポートすると JFrame が取得されません...

これが私のコードです:

import javax.swing.JFrame;
import javax.swing.JLabel;

public class Test
{
    public static void runTest(String arg1, String arg2)
    {

        try
        {
            String pathToJar = SelfUpdate.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath();
            ProcessBuilder pb = new ProcessBuilder("java", "-classpath", System.getProperty("java.class.path") + ";" + pathToJar, Test.class.getCanonicalName(), arg1, arg2);
            pb.start();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        System.exit(0);
    }

    public static void main(String[] args)
    {
        JFrame f = new JFrame();
        JLabel l = new JLabel("test");
        f.add(l);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);
}

runTest は別のクラスから呼び出されます。

問題が何であるかを知っている人はいますか?

4

1 に答える 1