Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#1836 closed enhancement (not a bug)

Jwebcache v0.2.8-b1 tweaked to be standalone : always crash at start

Reported by: hummingbird Owned by: zzz
Priority: minor Milestone: undecided
Component: apps/other Version: 0.9.26
Keywords: Cc:
Parent Tickets: Sensitive: no

Description

Jwebcache version 0.2.8-b1 (the gwebcache used by I2Phex)

After copying 'libjbigi.so' and 'libjcpuid.so' from the ~/i2p folder to the jwebcache folder :

cd jwebcache
sh run.sh
Exception in thread "main" java.lang.NoClassDefFoundError?: org/apache/log4j/PropertyConfigurator

at jwebcache.JWebcache.main(JWebcache.java:80)

Caused by: java.lang.ClassNotFoundException?: org.apache.log4j.PropertyConfigurator?

at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader?.loadClass(ClassLoader?.java:424)
at sun.misc.Launcher$AppClassLoader?.loadClass(Launcher.java:331)
at java.lang.ClassLoader?.loadClass(ClassLoader?.java:357)
… 1 more

Subtickets

Change History (3)

comment:1 Changed 3 years ago by zzz

Resolution: not a bug
Status: newclosed

Add the log4j jar from the plugin to the classpath
This is not a bug for the plugin, and I haven't released any standalone package.
I appreciate your attempting to build standalone, but if you need help, please ask on IRC rather than opening tickets.
In addition, it may be much easier (and even documented) to build standalone packages from source rather than attempting to convert a plugin to standalone.

comment:2 Changed 3 years ago by hummingbird

Note: Jwebcache 0.28 run as standalone if the following file is available: /home/you/jwebcache/lib/log4j-1.2.14.jar

It seems to me that Zzz renamed 'log4j-1.2.14.jar' to 'log4j.jar' but this prevent Jwebcache 0.2.8 to run as standalone.

comment:3 Changed 3 years ago by zzz

FYI, elaborating on comment 1 above:

jwebcache was written by Complication in 2007 as a standalone app and has always had standalone build methods and instructions.

I plugin-ized it in 2010. For a plugin, which (like all plugins) has auto-update inherently provided by the router, some tweaks are helpful. Relevant to this discussion, it's good to remove the version number from library jars, so that if we ever update a library jar, it will be installed on top of the old one, rather than having two versions sitting in the user's plugin directory after an update.

So for jwebcache and any other plugin that has standalone build targets and instructions (and most of them do), it's probably much easier and less error-prone to build it that way rather than manually 'un-pluginize' it from the plugin binaries. If the standalone build instructions aren't clear or there's some bug in standalone builds, I'd be happy to apply a patch anybody provides. Ideally, somebody will step up to be the maintainer for it and do standalone releases.

Note: See TracTickets for help on using tickets.