Date: Mon, 21 Sep 2009 15:18:59 -0700 From: Kevin Downey <redchin@gmail.com> To: Ronald Klop <ronald-freebsd8@klop.yi.org> Cc: grarpamp <grarpamp@gmail.com>, freebsd-java@freebsd.org Subject: Re: java jar invocation Message-ID: <1d3ed48c0909211518t57cce0ael7e8676b84d9488f4@mail.gmail.com> In-Reply-To: <op.u0mm35uh8527sy@82-170-177-25.ip.telfort.nl> References: <d2e731a10909202352g2b13f2e7q73e5a249022fd129@mail.gmail.com> <200909211306.31039.pieter@degoeje.nl> <d2e731a10909211409y61963fe6mb00df6c2a1a8c57@mail.gmail.com> <op.u0mm35uh8527sy@82-170-177-25.ip.telfort.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
-cp and -jar are mutually exclusive. On Mon, Sep 21, 2009 at 2:53 PM, Ronald Klop <ronald-freebsd8@klop.yi.org> wrote: > On Mon, 21 Sep 2009 23:09:19 +0200, grarpamp <grarpamp@gmail.com> wrote: > >>> BTW, Azureus (Vuze) is also in ports. Also you might want to >>> install java/jdk16 instead of diablo-jre16 >> >> I figure it's better for me to learn the hard way before trying >> ports. The goal is openoffice. Yeah, hard :) >> >> So I found the commons here and pulled the jar file out of it: >> >> =C2=A0http://apache.mirrors.redwire.net/commons/cli/binaries/commons-cli= -1.2-bin.zip >> =C2=A0commons-cli-1.2.jar >> >> Then ran this simple thing again: >> =C2=A0java -cp `pwd`/commons-cli-1.2.jar -jar `pwd`/Azureus4.2.0.8.jar >> >> And I got the same error. But the access time on commons-cli-1.2.jar >> wasn't bumped, so I ktrace'd it. >> =C2=A05987 java =C2=A0 =C2=A0 NAMI =C2=A0"/.../commons-cli.jar" >> >> Playing along and dropping the apparently unneeded -cp arg, I get: >> =C2=A0ln -s commons-cli-1.2.jar commons-cli.jar >> =C2=A0java -jar `pwd`/Azureus4.2.0.8.jar >> =C2=A0Exception in thread "main" java.lang.NoClassDefFoundError: >> org/apache/log4j/Layout >> >> So after downloading and symlinking log4j, this simplification works: >> =C2=A0java -jar Azureus4.2.0.8.jar --ui console >> >> >> The closest I can get so far to having the libs in one dir without >> symlinks and calling the app from elsewhere is to hunt up Main-Class >> in [Thanks AR]: >> =C2=A0unzip Azureus4.2.0.8.jar META-INF/MANIFEST.MF >> then run: >> =C2=A0java -cp `pwd`/jarz/\*:`pwd`/Azureus4.2.0.8.jar >> org.gudy.azureus2.ui.common.Main --ui console >> or move azureus into jarz and run: >> =C2=A0java -cp `pwd`/jarz/\* >> org.gudy.azureus2.ui.common.Main --ui console >> or: >> =C2=A0java -cp jarz/\*:Azureus4.2.0.8.jar >> org.gudy.azureus2.ui.common.Main --ui console >> >> >> The -jar style of that does not work: >> =C2=A0java -cp jarz/\*:Azureus4.2.0.8.jar -jar Azureus4.2.0.8.jar >> =C2=A0Exception in thread "main" java.lang.NoClassDefFoundError: >> org/apache/commons/cli/ParseException >> >> I was eventually hoping for something like: >> =C2=A0java -cp /usr/local/jarz -jar /usr/local/bin/app.jar >> >> >>> you are now running a jre compiled for FreeBSD-7.0 >> >> Yes. Hopefully we'll have a current java from the foundation for >> 8.0 when it comes out. =C2=A0And to keep current I want to figure out >> how to build from Sun's java sources sometime. If that doesn't >> work, I'll try ports. > > You have to add all jars to the classpath explicitly. You can't specify a > directory with jars or use *. > This is the easiest way I know. > > for i in /usr/local/jarz/*.jar; do > =C2=A0CLASSPATH=3D"$CLASSPATH:$i" > done > java -cp "$CLASSPATH" -jar foo.jar > > Ronald. > _______________________________________________ > freebsd-java@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-java > To unsubscribe, send any mail to "freebsd-java-unsubscribe@freebsd.org" > --=20 And what is good, Phaedrus, And what is not good=E2=80=94 Need we ask anyone to tell us these things?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1d3ed48c0909211518t57cce0ael7e8676b84d9488f4>