Why does JRuby Swing app quits immediately if run as jar











up vote
0
down vote

favorite












I am trying to build a simple JRuby application with a GUI. I am using the code in this page as a starting point, section marked "Simple Example".



If I take the code snippet and I run it as



$> jruby test.rb 


then it is all fine, I see the window.



If I try to make a "jar" file and run it with:



$> warble jar
$> java -jar test.jar


Then the application immediately exists without leaving an error code.



I tried to run the "jar" file in Windows10 and FreeBSD11.2, same behaviour, the GUI immediately quits.



Do you know how can I work around this ?
Sorry for the simple question, these are my first steps with JRuby.










share|improve this question


















  • 2




    Main thread ends after Example.new. Invoke it with a new thread and SwingUtilities. The repl acts as a main thread when you run it as a snippet.
    – Elliott Frisch
    Nov 9 at 3:36















up vote
0
down vote

favorite












I am trying to build a simple JRuby application with a GUI. I am using the code in this page as a starting point, section marked "Simple Example".



If I take the code snippet and I run it as



$> jruby test.rb 


then it is all fine, I see the window.



If I try to make a "jar" file and run it with:



$> warble jar
$> java -jar test.jar


Then the application immediately exists without leaving an error code.



I tried to run the "jar" file in Windows10 and FreeBSD11.2, same behaviour, the GUI immediately quits.



Do you know how can I work around this ?
Sorry for the simple question, these are my first steps with JRuby.










share|improve this question


















  • 2




    Main thread ends after Example.new. Invoke it with a new thread and SwingUtilities. The repl acts as a main thread when you run it as a snippet.
    – Elliott Frisch
    Nov 9 at 3:36













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I am trying to build a simple JRuby application with a GUI. I am using the code in this page as a starting point, section marked "Simple Example".



If I take the code snippet and I run it as



$> jruby test.rb 


then it is all fine, I see the window.



If I try to make a "jar" file and run it with:



$> warble jar
$> java -jar test.jar


Then the application immediately exists without leaving an error code.



I tried to run the "jar" file in Windows10 and FreeBSD11.2, same behaviour, the GUI immediately quits.



Do you know how can I work around this ?
Sorry for the simple question, these are my first steps with JRuby.










share|improve this question













I am trying to build a simple JRuby application with a GUI. I am using the code in this page as a starting point, section marked "Simple Example".



If I take the code snippet and I run it as



$> jruby test.rb 


then it is all fine, I see the window.



If I try to make a "jar" file and run it with:



$> warble jar
$> java -jar test.jar


Then the application immediately exists without leaving an error code.



I tried to run the "jar" file in Windows10 and FreeBSD11.2, same behaviour, the GUI immediately quits.



Do you know how can I work around this ?
Sorry for the simple question, these are my first steps with JRuby.







java swing jruby warbler






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 9 at 3:31









Nicola Mingotti

449




449








  • 2




    Main thread ends after Example.new. Invoke it with a new thread and SwingUtilities. The repl acts as a main thread when you run it as a snippet.
    – Elliott Frisch
    Nov 9 at 3:36














  • 2




    Main thread ends after Example.new. Invoke it with a new thread and SwingUtilities. The repl acts as a main thread when you run it as a snippet.
    – Elliott Frisch
    Nov 9 at 3:36








2




2




Main thread ends after Example.new. Invoke it with a new thread and SwingUtilities. The repl acts as a main thread when you run it as a snippet.
– Elliott Frisch
Nov 9 at 3:36




Main thread ends after Example.new. Invoke it with a new thread and SwingUtilities. The repl acts as a main thread when you run it as a snippet.
– Elliott Frisch
Nov 9 at 3:36












1 Answer
1






active

oldest

votes

















up vote
0
down vote













After Elliott suggestion I made the following modification to the last line of the original code and the "jar" works. It is just a hack, but small enough to get a beginner, like me, on track;)



t1 = Thread.new {
Example.new
}

while true do
sleep 1
end





share|improve this answer





















    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














     

    draft saved


    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53219458%2fwhy-does-jruby-swing-app-quits-immediately-if-run-as-jar%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    0
    down vote













    After Elliott suggestion I made the following modification to the last line of the original code and the "jar" works. It is just a hack, but small enough to get a beginner, like me, on track;)



    t1 = Thread.new {
    Example.new
    }

    while true do
    sleep 1
    end





    share|improve this answer

























      up vote
      0
      down vote













      After Elliott suggestion I made the following modification to the last line of the original code and the "jar" works. It is just a hack, but small enough to get a beginner, like me, on track;)



      t1 = Thread.new {
      Example.new
      }

      while true do
      sleep 1
      end





      share|improve this answer























        up vote
        0
        down vote










        up vote
        0
        down vote









        After Elliott suggestion I made the following modification to the last line of the original code and the "jar" works. It is just a hack, but small enough to get a beginner, like me, on track;)



        t1 = Thread.new {
        Example.new
        }

        while true do
        sleep 1
        end





        share|improve this answer












        After Elliott suggestion I made the following modification to the last line of the original code and the "jar" works. It is just a hack, but small enough to get a beginner, like me, on track;)



        t1 = Thread.new {
        Example.new
        }

        while true do
        sleep 1
        end






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 9 at 4:12









        Nicola Mingotti

        449




        449






























             

            draft saved


            draft discarded



















































             


            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53219458%2fwhy-does-jruby-swing-app-quits-immediately-if-run-as-jar%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Schultheiß

            Verwaltungsgliederung Dänemarks

            Liste der Kulturdenkmale in Wilsdruff