Running a java application without a main method

class MainMethodNot
    static
        System.out.println("This java program have run without the run method");
        System.exit(0);
}The reason this works is that static initialization blocks get executed as soon as the class is loaded, even before the main method is called. During run time JVM will search for the main method after exiting from this block. If it does not find the main method, it throws an exception. To avoid the exception System.exit(0); statement is used which terminates the program at the end of the static block itself.
got it from http://www.java-tips.org/

This has been published many times on this forum. What is your question?

Similar Messages

  • To run the java application without jdk package

    i would like to know whether possible to make the java .class file as .exe file to run in window environment without the help of jdk package.....if the answer is yes,,,,,is it going to use the jvm???is it come together with window os or not and start from which windows version?? or do we need to use the jre??? actually i would like to make installation package to install an application in windowsxp....i know how to do that one in vb and i've done that one before using visual studio 6.0.....is there any possible way....but please explain in easy words and way coz i might not understand if too technical...nobody can help me in my college,,,even lecturers.....thanks a lot

    i would like to know whether possible to make the java .class file as >>.exe file to run in window environment without the help of jdk >>package.....Yes it is possible, there are many tools like one mentioned above to convert your java .class program to .exe and you dont need jdk for that, though you will need JVM
    if the answer is yes,,,,,is it going to use the jvm???Yes it needs a JVM
    is it come together with window os or not and start from which windows >>version?? You need some tool like PJ2Exe or one mentioned above to convert it to .exe, it wont be available with OS.
    or do we need to use the jre???Yes you will need to install JRE for the JVM
    actually i would like to make installation package to install an >>application in windowsxp....i know how to do that one in vb and i've >>done that one before using visual studio 6.0.....is there any possible >>way....Yes it is possible,
    Make a .exe of your application and using VB make a setup file which takes care of installing JRE as well as your application.
    Regards
    Rohan

  • How can I run a java-application on starting of Windows 2000

    How can I run a java-application without any user on starting of Windows 2000?
    For example, if the computer is restarted and nobody enter into it yet, my java-application should run anyway.
    How can I do that?

    Hi, you have to put it in a Windows service.
    To do this you have a program, Srvany.exe that allow to insert a .exe or .bat program in a Windows service.
    For example, i develop a program, TomcatGuardian and i put it in a service because i need to run it in a server without Administrator logged in.
    Regards,
    Ivan.

  • Is it possible to run the java program without main?

    Hi,
    Is it possible to run the java program without main?
    if anybody know please tell me, how it is possible.
    Regards,
    Ramya

    Hi,
    Is it possible to run the java program without main?
    if anybody know please tell me, how it is possible.
    Regards,
    RamyaWhy do you ask? It sounds like an odd question. Your program can be an applet and it doesn't need a main method in that case.
    Kaj

  • Run External application without Exiting main application

    Hi,
    I am trying to implement a function that executes the external program from within my java application. I am using windows xp. I had googled for this and found some code but so far I am able to run the application in a condition if my main application exits. Instead I want to run the application without exiting my main application. How can I do that:
    Code I am using is:
    ========================
    try{
    Runtime.getRuntime().exec("external program");
    System.exit(0);
    catch (Exception err){
    err.printStackTrace();
    System.exit(-1);
    =========================
    my problem is I cannot run the external program without the line "System.exit(0)". If I remove that line, the external program only starts after I exit my main java application. Is there a way to run the external application without leaving the main application?
    By the way I am using the latest version of JDK 6 update 2 and Netbeans 5.5.1
    Thanks

    I tried and I tried and I couldn't make the same problem occur unless I specfically had a long task execute BEFORE calling the runtime command. See the code below:
    I tried a bunch of things, including having a GUI run before the Runtime call, after the runtime call. Neither affected the movie from being played.
    I tried with different versions of the runtime command, none of it made a problem.
    I tried running the application with a long task that would keep the main thread busy for a while AFTER I launched mplayer - no problem.
    The only thing that made the app work the way you describe was when I built the long task that keeps the main thread active for a while BEFORE I launched mplayer (which is the state of the code as I pasted it below).
    So my guess is that you have a single threaded application and you add the call to mplayer at the very end of your program's execution - thus it doesn't get called until the last thing. My suggestions:
    1) Move the call to the Start of your code, not the end
    2) Move your other work to a new thread so that it can be kicked off without holding the main thread in check.
    package movies;
    import inheritance.BaseWindow;
    import java.util.*;
    import java.io.*;
    class StreamGobbler extends Thread
        InputStream is;
        String type;
        OutputStream os;
        StreamGobbler(InputStream is, String type)
            this(is, type, null);
        StreamGobbler(InputStream is, String type, OutputStream redirect)
            this.is = is;
            this.type = type;
            this.os = redirect;
        public void run()
            try
                PrintWriter pw = null;
                if (os != null)
                    pw = new PrintWriter(os);
                InputStreamReader isr = new InputStreamReader(is);
                BufferedReader br = new BufferedReader(isr);
                String line=null;
                while ( (line = br.readLine()) != null)
                    if (pw != null)
                        pw.println(line);
                    System.out.println(type + ">" + line);   
                if (pw != null)
                    pw.flush();
            } catch (IOException ioe)
                ioe.printStackTrace(); 
    public class MyMainClass
        public static void main(String args[]) throws InterruptedException
             //This is just a GUI as a test
            BaseWindow bw = new BaseWindow();
            bw.show();
            //Keep App Running for a while
            int count = 0;
            while (count < 200) {
                 Thread.sleep(20);
                 count++;
                 System.err.println(count);
            if (args.length != 1)
                System.out.println("USAGE java movies.MyMainClass \"<movie to play>\"");
                System.exit(1);
            try
                Runtime rt = Runtime.getRuntime();
                //String[] cmds = new String[] { "cmd", "/c", "C:\\Mplayer\\mplayer.exe", args[0]};
                //String[] cmds = new String[] { "C:\\Mplayer\\mplayer.exe", args[0]};
                //Process proc = rt.exec(cmds);
                Process proc = rt.exec("C:\\Mplayer\\mplayer.exe "+args[0]);
                // any error message?
                StreamGobbler errorGobbler = new
                    StreamGobbler(proc.getErrorStream(), "ERROR");           
                // any output?
                StreamGobbler outputGobbler = new
                    StreamGobbler(proc.getInputStream(), "OUTPUT");
                // kick them off
                errorGobbler.start();
                outputGobbler.start();
                //Keep App Running for a while
    //            int count = 0;
    //          while (count < 2000000) {
    //                 Thread.sleep(200);
    //                 count++;
    //                 System.err.println(count);
                // any error???
                int exitVal = proc.waitFor();
                System.out.println("ExitValue: " + exitVal);
            } catch (Throwable t)
                t.printStackTrace();
    }I will restate myself:
    "I was not able to repeat the problem, except as described, as long as I took the hints mentioned in the article I posted into account and actually put them into action."
    Of course, as soon as I ignored those hints, I was able to reproduce the error described above quite easily in all the different tests I made... But I guess the OP implemented those fixes, right? He did say he read the article...
    Message was edited by:
    stevejluke

  • How to run java application without having java environment in  a machine

    can i run java application without having java environment(JVM) in a machine.I mean i dont have installed j2se or jdk in my machine.And i have an j2ee application running on another host which is built in swings.I want to access that application in my machine
    can any one help regarding my problem

    If you only need to access the program from one machine and you are running a Unix-like operating system (e.g., Linux, Solaris), you can use the remote display capabilities of X11. In this case you have to choose the host where the app will be displayed when you start it:
    $ DISPLAY=<hostname>:0.0
    $ export DISPLAY
    $ java ...
    If you want to be able to display it on both machines at the same time, or if you are using windows, then try something like VNC (http;//www.realvnc.com). Or if you are running windows and your version supports it, you can use windows remote desktop.

  • Running java application without installing JRE

    We try to run Java application without installing JRE, by copying java.exe (and other JRE files) together with our jar file. This does not work.
    Can it be solved?

    Can you elaborate on the steps to create a java
    application without installing JRE.
    Regards,
    padmaPadma,
    The solution is to deploy my JAR together with JRE files, without running standard JRE installation. This makes possible to simply ensure that my JAR will run with THIS SPECIFIC JRE. This is important from QA point of view. Also, installation of my application does not change configuration of JVMs on the computer.
    The solved problem:
    Standard JRE installation may change the default JRE for many Java applets and application on computer. Changing version JRE may lead to some programs misbehaviour (JRE backward compatibility does not always work and different Java versions not always live together well). Thus, some IT departments are very nervous about JRE version change.
    Hope, this explains my problem and the solution.

  • Running a GUI application without holding command prompt

    Hi there ,
    I have developed a GUI application using Swing. After compiling the same successfully , when I run the same , presently , I am running it like ,
    c:\> java xxx
    where c:\ is the general command prompt on a Windows machine where I can type in my commands like javac or java and xxx is the class file name . Now till I complete using my GUI application and exit from the same , the command prompt will also be there ( and probably displaying the output of my System.out.println ) . So , two sessions are running , one is just the command prompt and another is the actual GUI application.
    How can I avoide this ? e.g. when I type command "notepad" and press enter , notepad is started and the command prompt returns after starting notepad i.e. the notepad and the command prompt are not related now , I can close the command intrepreter and still notepad is running . What should I do to create such a Java GUI application ? Please advice .

    If I understand you correctly this is something that happens in linux also. And I believe that you can solve this by creating to shortcut to this program.
    And the shortcut or link to application will be the command line that you use to run the Java Application.
    i.e.
    java c:\javadir\subjavadir\application.class
    And I believe that this will allow it to run without the command prompt. Just showing the GUI and no additional command prompt window. Freeing the command prompt is something that I don't know how to do in either OS.
    I use the Link To Application method because I ultimately don't need to have multiple windows for one application. Even though it is nice to be able to kill the Application by destroying the command-prompt session (in case your app causes lock-ups during testing).
    Post your results . . . I'm not even sure that I'm being clear at all with my explanation to your question.

  • Running a Java application from a Swing GUI

    Hi,
    I was wondering if there is a simple way to run a Java application from a GUI built with Swing. I would presume there would be, because the Swing GUI is a Java application itself, technically.
    So, I want a user to click a button on my GUI, and then have another Java application, which is in the same package with the same classpaths and stuff, run.
    Is there a simple way to do this? Do any tutorials exist on this? If someone could give me any advice, or even a simple "yes this is possible, and it is simple" or "this is possible, but difficult" or "no this is not possible" answer, I would appreciate it. If anyone needs more information, I'll be happy to provide it.
    Thanks,
    Dan

    I don't know if it is possible to run the main method from another Java app by simply calling it...
    But you could just copy and paste the stuff from your main method into a new static method called something like runDBQuery and have all the execution run from there.
    How does that sound? Is it possible?
    What I'm suggeting is:
    Original
    public class DBQuery{
    public static void methodA(){
    public static void doQuery(){
    methodA();
    public static void main(String[] args){
    // Your method calls
    //Your initializing
    doQuery();
    }Revised:
    public class DBQuery{
    public static void methodA(){
    public static void doQuery(){
    methodA();
    public static void doMyQuery(){
    // Your method calls
    //Your initializing
    doQuery();
    // No main needed!!
    //public static void main(String[] args){
    // Your method calls
    //doQuery();
    //}

  • How to constant running a java application

    I have created a java application. My main class is called PTS.class and that has my main method.
    I wish to run this class continously, such that each time the main method completes execution, it is called again.
    I could probably do that by creating a thread which runs infinitely, as below. Is this a good skeleton solution? Will each instance of class PTS be garbage collected after execution, before a new one is created?
    Is there any freeware Java scheduler out there that allows me to do the same thing i.e. running an application infinitely?
    public class TestApplication implements Runnable{
    p.s.v.m (String[] args){
    Thread t = new Thread(this);
    t.start();
    public void run(){
    while(true){
    PTS pts = new PTS();
    }

    I'm not aware of any general Java based scheduling applications, though there certainly may be some. In general schedulers are built into the O/S such as cron. More robust schedulers like AutoSys are native code in part because they need to do O/S specific things like change who a particular process is running as.
    Depending on your needs it shouldn't be too bad to write your own.

  • Running a java application in command prompt

    hi, I'm new to this forum.
    I would like to know what exactly needs to be specified to run a java application in a normal DOS command prompt.
    I know it is something like:
    javaw -classpath .\class GUI.applicationGUI
    where applicationGUI is the main class, right? What else do I need to do, since I have some other non-GUI classes that I need, inside the class folder ?
    Thanks for your time.

    You need to import those classes. And you need to make packages.
    In classes 1, 2 and 3 put:
    package class;
    In class 4 put;
    package class.GUI;
    Then you need to make the connection:
    In classes 1,2 and 3 put:
    import class.GUI.*;
    In class 4 put:
    import class.*;
    Compile each directory separately while in the respective directory. javac *.java
    Then go back to the directory above the directory "class" and run
    java class/GUI/name_of_file_containing_main_method

  • Can we run a java application using Runtime.exec()?

    Can we run a java application using Runtime.exec()?
    If yes what should i use "java" or "javaw", and which way?
    r.exec("java","xyz.class");

    The best way to run the java application would be to dynamiically load it within the same JVM. Look thru the class "ClassLoader" and the "Class", "Method" etc...clases.
    The problem with exec is that it starts another JVM and moreover you dont have the interface where you can throw the Output directly.(indirectly it can be done by openong InputStreams bala blah............). I found this convenient. I am attaching part of my code for easy refernce.
    HIH
    ClassLoader cl = null;
    Class c = null;
    Class cArr[] ;
    Method md = null;
    Object mArr[];
    cl = ClassLoader.getSystemClassLoader();
    try{
         c = cl.loadClass(progName.substring(0,progName.indexOf(".class")) );
    } catch(ClassNotFoundException e) {
    System.out.println(e);
         cArr = new Class[1] ;
         try{
         cArr[0] = Class.forName("java.lang.Object");
         } catch(ClassNotFoundException e) {
         System.out.println(e);
         mArr = new Object[1];
         try{
         md = c.getMethod("processPkt", cArr);
         } catch(NoSuchMethodException e) {
         System.out.println(e);
         } catch(SecurityException e) {
         System.out.println(e);
    try {            
    processedPkt = md.invoke( null, mArr) ;
    } catch(IllegalAccessException e) {
              System.out.println(e);
    } catch(IllegalArgumentException e) {
              System.out.println(e);
    }catch(InvocationTargetException e) {
              System.out.println(e);
    }catch(NullPointerException e) {
              System.out.println(e);
    }catch(ExceptionInInitializerError e) {
              System.out.println(e);
    }

  • Running a java exe without JRE

    i have created an exe for a java application by using a C program...The c program invokes the DOS shell and runs the JAVA application...
    now how do i make this exe executable on a windows XP machine without JDK being installed...
    The second issue is that if i wrap my exe with the required JRE components the size becomes too large...how do i ship my java application as a single EXE runnable on all WINDOWS machines!!!!!!!!!!!

    Including the JRE with your app, if you zip it, will add about 14MB to your distribution. It's annoying but in the days of broadband, it's not so much of a problem. You could also check this:
    http://www.excelsior-usa.com/jet.html

  • Running a Java Application in Windows

    Hi, Can anyone tell me how to run a Java Application in Windows? I've tried to run it using TextPad 4.5 but it gives me an exception saying it can't find a class defenition. I'm actually using IBM VisualAge for Java to develop the app and it runs fine INSIDE VisualAge and I've exported my compiled class files and so on, to run it stand-alone in Windows. I'm using some custom objects and inner classes, could these be the problem?

    YES! SUCCESS! I exported my class files from VAJ and along with the manifest file that it adds automatically. I opened up the jar with Winrar, extracted the manifest file and added the Main-class: header pointing to my executable and then put it back in the jar with winrar. And PRESTO! I can now run it with javaw! Thanks for your help peeps...

  • Running Adobe AIR applications without having Adobe AIR installed

    Is running Adobe AIR applications without having Adobe AIR
    installed possible?
    Why wouldn`t it be?
    And if not, when will it be possible?
    Thank you.

    There's no technical way this could be possible. It's like a
    .swf playing without the Flash Player installed, or a Java applet
    without the Java Virtual Machine. Or even like a Windows
    application running without Windows. :)
    There are, however, 3rd party wrappers out there to turn AIR
    apps into native OS apps (basically it wraps the AIR Runtime inside
    a native OS executable, like .exe). One that I can name off the top
    of my head is the Shu wrapper. This is like the old school Flash
    projectors, like Zinc and mProjector. The user doesn't have to
    install anything to run native executables.
    I would be surprised if Adobe has any plans to make an
    executable wrapper for AIR, but I don't know anything. I would like
    to see .air files be able to run in the AIR Runtime without having
    to actually install the .air package, though.

Maybe you are looking for

  • Can't download file attachment to ipad

    Hi, I am using a ipad and os version is 4.2.1 I open safari web browser and type "yahoo e-mail". My e-mail has a attachment, it is a doc file, I can't download the doc file direct to my i-pad. Do you have any suggestion to download the attachment to

  • My MBP 13 does not shut off

    Hi everyone, my new MBP does refuse to shut off or restart. I have had it for less than two weeks. It gives me a message that some applicattion is running (different applicattion, depending on what i have been using). In force quit there is nothing,

  • Automatic debit to customer, if customer fails to pay within due date

    Dear Gurus, i belong to consumer products company. we give incentives to our customer in form of different discounts e.g. booking discount, monthly discount, trade discount, foreign tours etc etc. At present our payment terms ranges 30 to 60 days and

  • Opening the default browser.

    Hello, Is there a way to open the default browser of the system in a java application? Is there any instruction which works for both Windows and Linux? I only need to open the browser with a specified URL after a determined step in my java applicatio

  • Yosemite memory out of control?

    Upgraded to Yosemite on MacBook Pro -- memory of kernel_task runs out of control (>6GB) in approx 48 hours after using -- initially did a clean install of Yosemite, and only loaded apps that are needed. Etrecheck reports the following with many proce