aspose file tools*
The moose likes Java in General and the fly likes Unable to run a .JAR as a windows Scheduled Task Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Unable to run a .JAR as a windows Scheduled Task" Watch "Unable to run a .JAR as a windows Scheduled Task" New topic
Author

Unable to run a .JAR as a windows Scheduled Task

Adam Altmann
Greenhorn

Joined: Jun 08, 2005
Posts: 21
Hello,

I've developed an application and made a .JAR file out of it. It seems to work just fine. I doubleclick it, and it starts right up. It even does what it's supposed to do, which I view as an added bonus.

HOWEVER, if I try to run it as a Windows Scheduled Task, it fails spectacularly, this failure is accompanied by the following cold and uncaring dialog box:

Java Virtual Machine Launcher

Could not find the main class. Program will exit.


I was hoping to run the task nightly, as it's a bit time consuming. I've set up the task to run under my user account, with my login password. Though I realize this may be more of a Windows Thing than a Java Thing, I'm at a loss as to why it wouldn't work.

If anyone could point me towards a solution I would be eternally grateful, as will be my children, and my children's children.

Thanks.
Adam Altmann
Greenhorn

Joined: Jun 08, 2005
Posts: 21
Also,

The manifest file contains the following:



Whis is correct, as far as package and name are concerned. Like I said, it works if I doubleclick it.
Adam Altmann
Greenhorn

Joined: Jun 08, 2005
Posts: 21
Update,

I've worked around this issue by writing a batch file to run the .JAR, and adding the batch file to Scheduled Tasks. The good news is it works now. The bad news is, I haven't learned why it didn't work in the first place. An unfortunate state of affairs, to be sure.
Mark Wuest
Ranch Hand

Joined: Jun 07, 2003
Posts: 88
Originally posted by Adam. Altmann.:
Hello,

I've developed an application and made a .JAR file out of it. It seems to work just fine. I doubleclick it, and it starts right up. It even does what it's supposed to do, which I view as an added bonus.

HOWEVER, if I try to run it as a Windows Scheduled Task, it fails spectacularly, this failure is accompanied by the following cold and uncaring dialog box:



I was hoping to run the task nightly, as it's a bit time consuming. I've set up the task to run under my user account, with my login password. Though I realize this may be more of a Windows Thing than a Java Thing, I'm at a loss as to why it wouldn't work.

If anyone could point me towards a solution I would be eternally grateful, as will be my children, and my children's children.

Thanks.


Wow, your children's children? I doubt I'll live long enough, but I suspect you just entered the jar itself as the command. You should make sure the system has %JAVA_HOME% set and that %JAVA_HOME\bin is in the %PATH% (for all users), and then the command should be:

%JAVA_HOME\bin\java.exe -jar myprogram.jar

and it should run in an appropriate folder.

Mark
Adam Altmann
Greenhorn

Joined: Jun 08, 2005
Posts: 21
Yes, I can run it from the Command Line. I've got:

C:\>echo %JAVA_HOME%
C:\Program Files\Java\jdk1.5.0_03

C:\>echo %CLASSPATH%
.

C:\>echo %PATH%
C:\Program Files\Java\jdk1.5.0_03\bin;


I think that covers everything. I can run my application from the command line, or by double-clicking on it. If I go to add a Scheduled Task, and browse to the .JAR and add it that way. I get the "Cannot find main class" error dialog. But if I run a batch file including "java -jar Application.jar", it works just fine.

Am I missing something with either JAVA_HOME, PATH, or CLASSPATH?

Thanks for your help.
Mark Wuest
Ranch Hand

Joined: Jun 07, 2003
Posts: 88
So, in Scheduled Tasks-> Properties for your task, what is in the "Run:" field?

Mark
Adam Altmann
Greenhorn

Joined: Jun 08, 2005
Posts: 21
The path to the .JAR file.

"C:\Documents and Settings\user\Desktop\Application.jar"

or

"C:\Applications\Application.jar"

etc.

It doesn't seem to matter where it is, it won't run if I set the Scheduled Task up like this...though it seems that Windows is trying to run it, since it produces the lovely JVM error.

Though if I set up the batch file as so:



...Scheduled Tasks will run it just fine.
Mark Wuest
Ranch Hand

Joined: Jun 07, 2003
Posts: 88
In the "Run:" field, I believe it must have the "java -jar" part just like your batch file. I.e.: your task is set as if you had created the batch file like this:


Mark
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Unable to run a .JAR as a windows Scheduled Task