Generating Jars to use as libraries


(Andrei Stefan) #1

On your site is described how to build the project by yourself using gradle from the command line. This process produces an exe/.bat/.sh which can be executed in order to open the app.

My question is…is there a way in which I can generate a fat jar I can use as a dependency inside my own project?


(Dmitry Barashev) #2

If you concatenate all classes from all jars from GanttProject distro, you will probably get the expected result. There are Gradle plugins which build fat jars, you may try using them (I have never tried so can’t say anything certain)


(Andrei Stefan) #3

Ok, I’ll try that, thanks


(Andrei Stefan) #4

I tried that, the problem is that even though I concatenate all classes from all jars, eclipse stuff that you’re using is looking for the plugins folder (containing all jars from the Gantt distro and a plugin.xml for each) ----> failing when I call PluginManager.getExtensions() because Platform.getExtensionRegistry() returns null.


(Dmitry Barashev) #5

What is you end goal?

If you want to use code from GanttProject as library in your own application then most likely you will not suffer from plugins machinery, because it is used in just a small number of user interface points, such as building a list of available importerts or exporters.

Repackaging JARs with the goal of launching GanttProject UI is not the best idea, sorry. It is still possible to package a single JAR as a single plugin, craft your own plugin.xml file with all extensions and configure Eclipsito appropriately, but not sure if it worth the efforts comparing to just using GanttProject distro and launcher scripts as is.