It doesn't contain a Main-Class entry. I am assuming that the way to
determine what's in the manifest is 'jar -tf Quickstart.jar'....
I had Eclipse generate the manifest, and I specified the name of the main
class, which contains the main() method.
Denise
On 9/28/04 11:29 AM, "JR Ruggentaler" <JR.Ruggentaler@mpv.com> wrote:
> Does Manifest.mf in Quickstart.jar contain a Main-Class: entry. What is it?
> The Main-Class: should contain a class name that implements the main method
> (public static void main(String[] args)...). Or you will need to add
> Quickstart.jar to your classpath and specify the name of your "main" class.
>
> J.R.
> -----Original Message-----
> From: Denise Howard [mailto:dhoward@pgp.com]
> Sent: Tuesday, September 28, 2004 1:10 PM
> To: JR Ruggentaler; Jason Dwyer; woproject-dev@objectstyle.org
> Subject: Re: Beginner Eclipse problem
>
>
> OK thanks, that will help a bunch.
>
> Before I get to the point of delivering the application jar elsewhere, I
> still need to figure out why I can't make it happy from the command line.
> Here's my invocation:
>
> java -cp
> /Library/WebObjects/Extensions/axis.jar:/Library/WebObjects/Extensions/axis-
> ant.jar:/Library/WebObjects/Extensions/avalon-framework-4.1.2.jar:/Library/W
> ebObjects/Extensions/logkit-1.0.1.jar:/Library/WebObjects/Extensions/log4j-1
> .2.8.jar:/Library/WebObjects/Extensions/commons-logging.jar:/Library/WebObje
> cts/Extensions/jaxrpc.jar:/Library/WebObjects/Extensions/commons-discovery.j
> ar:/Library/WebObjects/Extensions/saaj.jar:/Library/WebObjects/Extensions/ws
> dl4j.jar -jar Quickstart.jar
>
> And here's the resulting error:
>
> Exception in thread "main" java.lang.NoClassDefFoundError:
> org/apache/axis/AxisFault
>
> AxisFault is defined in axis.jar, which is certainly included in the
> classpath. So why isn't it being found?
>
> Denise
>
> On 9/28/04 10:58 AM, "JR Ruggentaler" <JR.Ruggentaler@mpv.com> wrote:
>
>> Like most native and Java applications your application requires some
>> supporting libraries (jars), you may want to package your dependant libraries
>> and your application in a directory. Some developers use a common convention
>> like having a libs directory in a path relative to the location of their
>> application. They then distribute the application and it's supporting
>> libraries as a zip or tar or some format that works best on the target
>> platform. With this type of a setup the relative paths I described earlier
>> would work given your requirements. Apple/NextStep application use similar
>> strategies by having EO models, resources and other directories within the
>> applications directory. I believe the old NextStep Installer used tar zipped
>> files called packages to distribute apps.
>>
>> To simplify put your app and any supporting files/libraries in a directory
>> and
>> zip up all the file in the directory. Your app Manifest.mf file should point
>> to the relative location of you Axis runtime libraries and any other
>> libraries
>> it requires. The user would unzip the files and should be able to launch you
>> app by clicking on it. BTW: this is how Eclipse is distributed on MS Windows,
>> don't know if it's the same on OS X.
>>
>> J.R.
>>
>> -----Original Message-----
>> From: Denise Howard [mailto:dhoward@pgp.com]
>> Sent: Tuesday, September 28, 2004 12:31 PM
>> To: JR Ruggentaler; Jason Dwyer; woproject-dev@objectstyle.org
>> Subject: Re: Beginner Eclipse problem
>>
>>
>> Thanks for the suggestions, guys, but this doesn't quite solve my problem.
>> If I'm on an OS X machine and my boss--who will be using the application jar
>> I create--is on a Windows machine, the classpaths will be entirely
>> different. Not only that but he will not have Axis installed, so he won't
>> have any of those necessary jars. How do I create an application jar that
>> 1) I can run outside of Eclipse, and 2) I can hand off to someone in a
>> different environment to use? They shouldn't have to install anything other
>> than my application jar.
>>
>> Denise
>>
>>
>> On 9/28/04 7:11 AM, "JR Ruggentaler" <JR.Ruggentaler@mpv.com> wrote:
>>
>>> Jars can also include a "CLASSPATH" in the Manifest.mf with relative or
>>> fixed
>>> paths, for example:
>>> Class-Path: ../libs/activation.jar ../libs/classes111.zip
>>>
>>> Using Class-Path and Main-Class allows the application when packaged as a
>>> jar
>>> to be launchable by clicking the jar on MS Windows and probably other OSs.
>>> See
>>> the JDK Docs on Jars for complete explanation.
>>>
>>> -----Original Message-----
>>> From: Jason Dwyer [mailto:Jason.Dwyer@redata.com.au]
>>> Sent: Tuesday, September 28, 2004 2:55 AM
>>> To: woproject-dev@objectstyle.org; dhoward@pgp.com
>>> Subject: Re: Beginner Eclipse problem
>>>
>>>
>>> hi denise,
>>>
>>> theres a number of ways to include the relevant jars into your
>>> classpath, its not an eclipse issue per se, as much as it is part and
>>> parcel of any java app which relies on multiple libraries
>>>
>>> probably the cleanest method will be to write an ant target which
>>> invokes java.
>>>
>>> another would be to write a short shell command which sets up a local
>>> variable to hold a list of jars.
>>>
>>> put this into a file called starter.sh: (or whatever)
>>>
>>> #!/bin/sh
>>> for i in $1/*.jar; do
>>> export MYPATH=$MYPATH:$i
>>> done
>>>
>>> java -cp $MYPATH $2
>>>
>>> ====cut here===
>>> ensure its executable (chmod 755 starter.sh)
>>>
>>> then invoke with 2 parameters:
>>>
>>> ./starter.sh <path_to_libs_dir> <fully_qualified_java_class>
>>>
>>> i've assumed your java libraries (jars) for the project are in one local
>>> directory, which you pass in as the first arg. if not, its a good
>>> practice: makes it easier to keep track of which libs ( and versions of
>>> libs) you are using.
>>>
>>> still, probably better to look into ant to manage all this for you.
>>>
>>> .. and while its possible to 'merge' the contents of jars into your own
>>> application's jar, you really dont want to be doing that...
>>>
>>> regards,
>>>
>>> j.dwyer
>>> redata software systems
>>>
>>>
>>>
>>> On Tue, 2004-09-28 at 12:20, Denise Howard wrote:
>>>> I hope this is a quick and easy one. I'm running Eclipse 3.0.1 on Mac OS X
>>>> 10.3.5. In Eclipse I can run my plain Java application to my heart's
>>>> content. It happens to use Apache Axis, so all those Axis jars are in the
>>>> build path.
>>>>
>>>> Then I use Eclipse to create a jar file for my application, and from the
>>>> command line I try to run the jar, and right off the bat I get a
>>>> "NoClassDefFoundError" for one of the Axis classes. Spelling out the
>>>> classpath (I copied and pasted from Eclipse's command line inspector so I
>>>> know they're all spelled and punctuated correctly) made no difference.
>>>>
>>>> What am I doing wrong? The Eclipse help system is wonderful but I couldn't
>>>> find quite the solution in it for this. Is there a way to have Eclipse
>>>> "copy" external jars (such as these Axis ones) into my application jar so
>>>> that I can hand it to someone who doesn't have Axis installed and it will
>>>> run for them (similar to the "merge" in Xcode)?
>>>>
>>>> Thanks--
>>>>
>>>> Denise
>>>>
>>>>
>>>>
>>>> ________________________________________________________________
>>>> This message could have been secured by PGP Universal. To secure
>>>> future messages from this sender, please click this link:
>>>>
>>>> woproject-dev@objectstyle.org">https://keys.pgp.com/b/b.e?r=woproject-dev@objectstyle.org
>>>>
>>
>>
>>
>> ________________________________________________________________
>> This message could have been secured by PGP Universal. To secure
>> future messages from this sender, please click this link:
>>
>> JR.Ruggentaler@mpv.com">https://keys.pgp.com/b/b.e?r=JR.Ruggentaler@mpv.com
>>
>
>
>
> ________________________________________________________________
> This message could have been secured by PGP Universal. To secure
> future messages from this sender, please click this link:
>
> JR.Ruggentaler@mpv.com">https://keys.pgp.com/b/b.e?r=JR.Ruggentaler@mpv.com
>
________________________________________________________________
This message could have been secured by PGP Universal. To secure
future messages from this sender, please click this link:
woproject-dev@objectstyle.org">https://keys.pgp.com/b/b.e?r=woproject-dev@objectstyle.org
This archive was generated by hypermail 2.0.0 : Tue Sep 28 2004 - 14:50:42 EDT