简体   繁体   中英

Launching JAR with Process.Start: javaw.exe runs but “nothing happens”?

Given the code. when the button is clicked nothing happens , i get no debug message etc in visual studio. However if i were to double click the .jar file in its folder i am able to run it. Anyone have any idea why? Looking at Task manager when the button is clicked. javaw.exe is created but nothing happens.

private void btnKinderPuzzle_Click(object sender, RoutedEventArgs e)
{
    // Check if this program is opened
    if (IsProcessOpen("MTPuzzle"))
    {
        MessageBox.Show("KinderPuzzle is already running", "Kinder Package", MessageBoxButton.OK, MessageBoxImage.Information);
    }
    else
    {
        Process.Start(Directory.GetCurrentDirectory() + "\\Puzzle\\PuzzleGame\\MTPuzzle.jar");
    }
}
Process.Start("java.exe", 
              Path.Combine("-jar " + Directory.GetCurrentDirectory(), 
                           "Puzzle\\PuzzleGame\\MTPuzzle.jar"));

The path may be not correct. You might use instead

Process.Start(Path.Combine(Directory.GetCurrentDirectory(), "Puzzle\\PuzzleGame\\MTPuzzle.jar"));

If stills, then I think the problem in the setting of Java. To solve this potential problem, create a file run.cmd near your jar file and write this code into:

java -jar "MTPuzzle.jar"

Then, use Process.Start to start the file run.cmd

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM