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. >
