From: "Arttu V." <arttuv69@gmail.com>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] ebuild help: java main class?
Date: Sun, 25 Oct 2009 03:47:13 +0300 [thread overview]
Message-ID: <4AE3A011.4030309@gmail.com> (raw)
In-Reply-To: <49bf44f10910241312i703d447fj3ffa1156b1bcf074@mail.gmail.com>
Grant wrote:
> I'm trying to fix up the JAlbum ebuild:
>
> http://bugs.gentoo.org/show_bug.cgi?id=128356
>
> and get it to use java-pkg-2. Here's what I have so far:
>
> inherit java-pkg-2 eutils
>
> S="${WORKDIR}/Jalbum"
> DESCRIPTION="Web photo album generator"
> HOMEPAGE="http://jalbum.net/"
> SRC_URI="http://jalbum.net/download/Jalbum${PV}.zip"
>
> LICENSE="as-is"
> SLOT="0"
> KEYWORDS="x86"
> IUSE=""
>
> DEPEND=">=virtual/jre-1.5"
> RDEPEND="${DEPEND}"
>
> src_install() {
> java-pkg_dojar JAlbum.jar
> java-pkg_dolauncher jalbum \
> --jar JAlbum.jar \
> --java_args -Xmx400M
>
> local dest=/usr/lib/${PN}
> dodir ${dest}
> cp -R ${S}/* ${D}/${dest} || die "Install failed"
>
> doicon ${FILESDIR}/Jalbum-icon.png
> make_desktop_entry ${PN}
> }
>
> It executes just fine, but I get:
>
> $ jalbum
> Error: se.datadosen.jalbum.JAlbum
> java.lang.ClassNotFoundException: se.datadosen.jalbum.JAlbum
> at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
> at se.datadosen.jalbum.Main.main(Main.java:23)
>
> I was told I need to define the main class with --main. Does anyone
> know how to determine what the main class should be?
No, it has clearly already loaded at least one class (last line of that
stack trace reveals this), and is looking for some others needed by that
class -- but the classloader fails to find them. JAlbum probably also
has a Main-Class header defined in the jar's manifest, so this is likely
to be just another classpath-related issue.
But the ebuild you're pushing ... I think it would need some serious
work for the installation part. I think it installs files in all wrong
places, and thus Gentoo's Generation 2 java system cannot automatically
add them to classpath.
There is some advice on the issue in section 3, the Filesystem layout
over here:
http://www.gentoo.org/proj/en/java/java-devel.xml
After trudging through that you might understand why Gentoo Java team
has constantly several dev positions advertised on "help wanted". Some
of Java's ways don't mix that well with Gentoo's approaches, especially
with compiling and packaging (installations).
If you are in a hurry of some sort, you might just try taking the jar,
unpacking it into a subdir under your homedir, cd'ing in, and trying
something like "CLASSPATH=.:${CLASSPATH} foo.sh". With a little luck it
might work as such, without the pain of making a proper ebuild for it.
--
Arttu V.
next prev parent reply other threads:[~2009-10-25 0:47 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-24 20:12 [gentoo-user] ebuild help: java main class? Grant
2009-10-24 20:23 ` Alan McKinnon
2009-10-24 20:32 ` Grant
2009-10-24 21:12 ` Alan McKinnon
2009-10-24 21:52 ` Grant
2009-10-25 0:47 ` Arttu V. [this message]
2009-10-25 4:35 ` Grant
2009-10-25 11:47 ` Arttu V.
2009-10-25 14:33 ` Grant
2009-10-25 15:02 ` Grant
2009-10-25 17:48 ` Arttu V.
2009-10-25 18:33 ` Grant
2009-10-25 22:21 ` Grant
2009-10-25 23:57 ` Grant
2009-10-25 11:55 ` Justin
2009-10-25 14:33 ` Grant
2009-10-25 16:34 ` Justin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4AE3A011.4030309@gmail.com \
--to=arttuv69@gmail.com \
--cc=gentoo-user@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox