Skip to content

How to add dependencies to DEB created by JPackage?

I have a java application that I package with jpackage and receive a debian package.

At runtime the application relies on another piece of software being installed, and it comes from another debian package. I want the Ubuntu package manager to automatically resolve this dependency. But that means I have to declare the dependency somehow in my debian package.

What do I need to do to jpackage so that it creates the debian archive with my additional dependency?


So I resolved it by overriding jpackage resources, as mentioned in

DEB packages contain a control file which contains the metadata required for package management. Inside this file the dependencies to other files are declared. Create a directory containing your desired control file, then specify –resource-dir and the path to your directory on the jpackage command line. Rather than generating it’s own control file jpackage will copy the given resource into the DEB.


  • To get a first example of this control file, just open the DEB using some archive manager and extract the control file.
  • To be still flexible for version numbers or other stuff in that file it is advisable to generate it using some templating mechanism of your build system.