I'm using jspf in my project, with maven using the following dependency:
<dependency>
<groupId>net.xeoh.plugins</groupId>
<artifactId>jspf.core</artifactId>
<version>1.0.3</version>
</dependency>
jspf-core depends on classworld 1.0:
<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>net.xeoh.plugins</groupId>
<artifactId>jspf.core</artifactId>
<version>1.0.3</version>
<name>Java Simple Plugin Framework</name>
<dependencies>
<dependency>
<groupId>classworlds</groupId>
<artifactId>classworlds</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.net.jcores</groupId>
<artifactId>jcores</artifactId>
<version>0.9.1</version>
</dependency>
</dependencies>
</project>
However, jspf is incompatible with this version:
Caused by: java.lang.NoSuchMethodError:
org.codehaus.classworlds.ClassWorld.newRealm(Ljava/lang/String;Ljava/lang/ClassLoader;)Lorg/codehaus/classworlds/ClassRealm;
at net.xeoh.plugins.base.impl.classpath.ClassPathManager$1.run(ClassPathManager.java:109)
at java.security.AccessController.doPrivileged(Native Method)
at net.xeoh.plugins.base.impl.classpath.ClassPathManager.<init>(ClassPathManager.java:101)
at net.xeoh.plugins.base.impl.PluginManagerImpl.<init>(PluginManagerImpl.java:105)
at net.xeoh.plugins.base.impl.PluginManagerFactory.createPluginManager(PluginManagerFactory.java:114)
at net.xeoh.plugins.base.impl.PluginManagerFactory.createPluginManager(PluginManagerFactory.java:67)
, and it contains its own version of these classes:
jar -tf jspf.core-1.0.3.jar
org/codehaus/classworlds/
org/codehaus/classworlds/uberjar/
org/codehaus/classworlds/uberjar/boot/
org/codehaus/classworlds/uberjar/protocol/
org/codehaus/classworlds/uberjar/protocol/jar/
org/codehaus/classworlds/ClassRealm.class
org/codehaus/classworlds/ClassWorld$1.class
org/codehaus/classworlds/ClassWorld.class
org/codehaus/classworlds/ClassWorldException.class
org/codehaus/classworlds/ConfigurationException.class
org/codehaus/classworlds/Configurator$1.class
org/codehaus/classworlds/Configurator$2.class
org/codehaus/classworlds/Configurator.class
org/codehaus/classworlds/DefaultClassRealm.class
org/codehaus/classworlds/DuplicateRealmException.class
org/codehaus/classworlds/Entry.class
org/codehaus/classworlds/Launcher.class
org/codehaus/classworlds/NoSuchRealmException.class
org/codehaus/classworlds/RealmClassLoader.class
org/codehaus/classworlds/UberJarRealmClassLoader.class
org/codehaus/classworlds/UrlUtils.class
org/codehaus/classworlds/uberjar/boot/Bootstrapper.class
org/codehaus/classworlds/uberjar/boot/InitialClassLoader.class
org/codehaus/classworlds/uberjar/protocol/jar/Handler.class
org/codehaus/classworlds/uberjar/protocol/jar/JarUrlConnection.class
Removing the classworlds jar from the classpath solves the problem, but it's not a nice solution. Is there a version of classworlds that does work with jspf?
Tx,
Kim Marivoet