Assuming the package of Hello.class is the default package(so, no package)
the following should work:
$ java -cp .:./log4j-1.2.17.jar Hello



2013/5/14 Mary Laude <[email protected]>

> Here is what I just did.  Note I am actually inside a Win VM, at a cygwin
> prompt.
>
> Mary@WinServ2008-Enterprise /home/Mary/apache-log4j-1.2.17
> $ ls
> build.properties.sample  INSTALL       log4j-1.2.17.jar              site
> build.xml                JarDir.class  NOTICE                        src
> contribs                 JarDir.java   NTEventLogAppender.amd64.dll  tests
> examples                 KEYS          NTEventLogAppender.dll
> Hello.java               LICENSE       pom.xml
>
> Mary@WinServ2008-Enterprise /home/Mary/apache-log4j-1.2.17
> $ echo $CLASSPATH
> /home/Mary/apache-log4j-1.2.17/
>
> Mary@WinServ2008-Enterprise /home/Mary/apache-log4j-1.2.17
> $ javac -cp ./log4j-1.2.17.jar Hello.java
>
> Mary@WinServ2008-Enterprise /home/Mary/apache-log4j-1.2.17
> $ java -cp ./log4j-1.2.17.jar Hello
> Error: Could not find or load main class Hello
>
> Mary@WinServ2008-Enterprise /home/Mary/apache-log4j-1.2.17
> $ ls
> build.properties.sample  Hello.java    LICENSE
> pom.xml
> build.xml                INSTALL       log4j-1.2.17.jar              site
> contribs                 JarDir.class  NOTICE                        src
> examples                 JarDir.java   NTEventLogAppender.amd64.dll  tests
> Hello.class              KEYS          NTEventLogAppender.dll
>
>
> Any ideas?
> Thx.
> Mary
>
>
> On Tue, May 14, 2013 at 8:36 AM, Jacob Kjome <[email protected]> wrote:
>
> >
> > No, Mary is just running an example from the install documentation.  And
> > since the code is calling BasicConfigurator.configure(), there is no need
> > for a config file in the classpath (though it is generally recommended to
> > use a config file rather than configure via code).
> >
> > Mary, please provide an example of your java command line when you run
> > this.  It should look something like...
> >
> >
> > java -cp log4j-1.2-17.jar Hello
> >
> >
> > Jake
> >
> >
> > On Tue, 14 May 2013 10:41:18 +0900
> >  Remko Popma <[email protected]> wrote:
> >
> >> Mary,
> >>
> >> Gary was referring to log4j-2.0. While generally more awesome (ahem), it
> >> does need those 2 jars to run.
> >> You seem to be using log4j-1.2. Then you should only need the one jar.
> >> You also need a log4j.properties or log4j.xml file in a directory that
> is
> >> in the classpath. The site should have some sample config files.
> >> In your code, I don't think you need to call
> >> BasicConfigurator.configure();
> >> I think you can safely remove that line; log4j will pick up your config
> >> file from the classpath.
> >> Sent from my iPhone
> >>
> >> On 2013/05/14, at 10:30, Mary Laude <[email protected]> wrote:
> >>
> >>  Hey -  thanks for the quick reply!  Ya know, I read that bit
> >>> but the jar file I have is named log4j-1.2-17.jar, and I thought
> >>> it comprised everything.  When I downloaded the code, that's
> >>> the only jar file there was.  Clearly, I was delusional!  I'll go
> >>> look for the corresponding API and core jar files...
> >>> Thanks again!
> >>>
> >>>
> >>>
> >>> On Mon, May 13, 2013 at 6:00 PM, Gary Gregory <[email protected]
> >>> >wrote:
> >>>
> >>>  You need the API and core jar files on your classpath for compilation
> >>>> and runtime.
> >>>>
> >>>> Gary
> >>>>
> >>>> On May 13, 2013, at 20:46, Mary Laude <[email protected]>
> wrote:
> >>>>
> >>>>  Hello -
> >>>>>
> >>>>> I can write, compile, and successfully run a Java program
> >>>>> to look at a .jar file and list the classes defined therein, but
> >>>>> I can't for the life of me get your "Using log4j" java code shown
> >>>>> in 1-2.17's INSTALL doc to work.
> >>>>>
> >>>>> Perhaps there's some other magic that needs to happen to get
> >>>>> this code snippet you wrote to yield output?
> >>>>>
> >>>> ------------------------------**------------------------------**
> >>>> ----------------------------
> >>>>
> >>>>> You can now test your installation by first compiling the following
> >>>>>   simple program.
> >>>>>
> >>>>>    import org.apache.log4j.Logger;
> >>>>>    import org.apache.log4j.**BasicConfigurator;
> >>>>>
> >>>>>    public class Hello {
> >>>>>
> >>>>>      private static final Logger logger =
> >>>>> Logger.getLogger(Hello.class);
> >>>>>
> >>>>>      public
> >>>>>      static
> >>>>>      void main(String argv[]) {
> >>>>>        BasicConfigurator.configure();
> >>>>>        logger.debug("Hello world.");
> >>>>>        logger.info("What a beatiful day.");
> >>>>>      }
> >>>>>    }
> >>>>>
> >>>> ------------------------------**------------------------------**
> >>>> -----------------------------
> >>>>
> >>>>> I understand how CLASSPATH works, etc.  I can get it to compile but
> >>>>> even if I again (with option -cp) specify exactly where the .class
> file
> >>>>>
> >>>> is
> >>>>
> >>>>> that it just created from the compile, it still can't find what it
> >>>>> needs.
> >>>>>
> >>>>> Depending on where I've put things and what I tell it, I get one of
> >>>>> these
> >>>>> failing results when I try to run the executable:
> >>>>>
> >>>>> (1)
> >>>>> java.lang.**NoClassDefFoundError: org/apache/log4j/Logger
> >>>>>        at Hello.<clinit>(Hello.java:6)
> >>>>> Caused by: java.lang.**ClassNotFoundException:
> org.apache.log4j.Logger
> >>>>>        at java.net.URLClassLoader$1.run(**URLClassLoader.java:366)
> >>>>>        at java.net.URLClassLoader$1.run(**URLClassLoader.java:355)
> >>>>>        at java.security.**AccessController.doPrivileged(**Native
> >>>>> Method)
> >>>>>        at java.net.URLClassLoader.**findClass(URLClassLoader.java:**
> >>>>> 354)
> >>>>>        at java.lang.ClassLoader.**loadClass(ClassLoader.java:**423)
> >>>>>        at sun.misc.Launcher$**AppClassLoader.loadClass(**
> >>>>> Launcher.java:308)
> >>>>>        at java.lang.ClassLoader.**loadClass(ClassLoader.java:**356)
> >>>>>        ... 1 more
> >>>>> Exception in thread "main"
> >>>>>
> >>>>> or (2)
> >>>>> Error: Could not find or load main class Hello
> >>>>>
> >>>>>
> >>>>> Please, I am an old UNIX geek but this is really really frustrating
> me.
> >>>>> I have looked literally EVERYWHERE to find out what the problem is
> >>>>> but of course I am apparently the first and only person to ever have
> >>>>> this
> >>>>> problem.  Ha!
> >>>>>
> >>>>>
> >>>>> --
> >>>>> Please test what you build.
> >>>>>
> >>>>
> >>>> ------------------------------**------------------------------**
> >>>> ---------
> >>>> To unsubscribe, e-mail: log4j-user-unsubscribe@**logging.apache.org<
> [email protected]>
> >>>> For additional commands, e-mail: log4j-user-help@logging.**apache.org
> <[email protected]>
> >>>>
> >>>
> >>>
> >>> --
> >>> Please test what you build.
> >>>
> >>
> >>
> ------------------------------**------------------------------**---------
> >> To unsubscribe, e-mail: log4j-user-unsubscribe@**logging.apache.org<
> [email protected]>
> >> For additional commands, e-mail: log4j-user-help@logging.**apache.org<
> [email protected]>
> >>
> >>
> >>
> >
> > ------------------------------**------------------------------**---------
> > To unsubscribe, e-mail: log4j-user-unsubscribe@**logging.apache.org<
> [email protected]>
> > For additional commands, e-mail: log4j-user-help@logging.**apache.org<
> [email protected]>
> >
> >
>
>
> --
> Please test what you build.
>

Reply via email to