To prevent spam users, you can only post on this forum after registration, which is by invitation. If you want to post on the forum, please send me a mail (h DOT m DOT w DOT verbeek AT tue DOT nl) and I'll send you an invitation in return for an account.

How to run jar?

lcalca Posts: 22
edited July 2018 in - Development
Hello,
I am having trouble running a testing class from the jar I have created.
I developed a new Plugin from the Workshop Plugin. I can compile it using ant on the console. It generates 2 jar files. Workshop.jar and Workshop-20180724.jar.

java -cp Workshop.jar org.processmining.plugins.TestMyPlugin
returns
Exception in thread "main" java.lang.NoClassDefFoundError: nl/tue/astar/AStarThread$Canceller at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.privateGetMethodRecursive(Class.java:3048) at java.lang.Class.getMethod0(Class.java:3018) at java.lang.Class.getMethod(Class.java:1784) at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526) Caused by: java.lang.ClassNotFoundException: nl.tue.astar.AStarThread$Canceller at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 7 more
It seems the classpath is not set in the right way... In ant docs I read that its not possible to add the classpath to the java -jar command, the classpath needs to be added to the buildfile.
Post edited by lca on

Comments

  • hverbeekhverbeek Posts: 439
    Hi,

    The Workshop.jar and Workshop-20180724.jar files are identical. You can use one or the other.

    Both jar files only contain your Workshop plug-ins, but not the ProM framework or the packages on which your Workshop package depends. The exception above results from the fact that the EfficientStorage package (which implements nl.tue.astar.AStarThread$Canceller) cannot be found. The jar file of that package should be included somehow in the classpath.

    My guess is that other packages will also need to be included somehow in the classpath, and possibly the framework as well. It may just be easier to create a ProM plug-in for your test, and to run that plug-in from ProM itself.

    Kind regards,

    Eric. 

  • lcalca Posts: 22
    edited July 2018
    Thank you @hverbeek!
    What do you propose how to submit my work as part of a thesis?
    Post edited by lca on
  • hverbeekhverbeek Posts: 439
    Hi,

    What do you mean with "submit my work as part of a thesis"? How would you like to submit your plug-ins as part of your thesis?

    The typical way this is done is by adding the plug-ins to the ProM landscape, making it available for all ProM users, and by referring in the thesis to the version of ProM in which it is available and in which package the plug-ins are installed. ProM can be downloaded free of charge, and the user can then install the proper package, after which the user can run your plug-in. But then the user has to run your plug-ins from ProM.

    Kind regards,

    Eric.
  • Thanks @hverbeek , right now I am running ProM with the plugin. It took me a while to make it work because I am using Intellij Idea IDE. 
    What requirements are needed to put the plugin in the regular package repository?

    Abraham Calas
    PhD Student at Universidad de las Ciencias Informáticas. Cuba.
Sign In or Register to comment.