Skip site navigation (1)Skip section navigation (2)
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>