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