jpackage does not include extra files from app-image when creating Debian package?
tobias.oelgarte at gmail.com
Fri Feb 26 19:39:01 UTC 2021
No luck. If i put my files in 'target/image/AppName/app/' subfolder they
are not included in the .deb file. The entire app folder is missing
(even from the jpackage installer --temp directory). If i put them in
'target/image/AppName/bin/' they are included and also installed.
I can't file a bug report in JIRA. I would if I could, but I have no
access to it.
BTW is there any reliable way to figure out the path of the 'app/'
directory after it has been installed from within the running
application? In JDK 14 (Windows) I got the system property
'java.launcher.path', but under JDK 16 (Ubuntu 18.04) this property is
missing and instead I found 'jpackage.app-path' which points to the
binary inside 'bin/'.
On 26.02.21 18:25, Alexey Semenyuk wrote:
> If you put your files in 'target/image/AppName/app/' subfolder and
> they are missing in .deb file it is a bug in jpackage. Please go ahead
> and file a bug in JIRA. We will work of the fix.
> - Alexey
> On 2/26/2021 12:05 PM, Tobias Oelgarte wrote:
>> I tried JDK 14.0.2 and JDK 16 Build 36. I let Maven put my extra
>> files into '/target/image/AppName/*/' and i also tried to put them
>> into 'target/image/AppName/app/*' but nothing worked. It works
>> perfectly for 'msi' at all places under AppName, but not for 'deb'.
>> After some trial an error I added the files to
>> "target/image/AppName/bin/*" and surprisingly this worked. But this
>> is not really what I expected. At least the path relative to the
>> binary stays the same. Maybe it was intended that way?
>> On 26.02.21 17:42, Alexey Semenyuk wrote:
>>> Hi Tobias,
>>> Extra files in deb packaging should work. What is the version of
>>> jpackage you are using? Where do you put extra files in app image?
>>> If you put them in the root directory of app image they will not be
>>> included in the package. Recommended location for extra files is
>>> "app" subdirectory of app image.
>>> - Alexey
>>> On 2/26/2021 10:58 AM, Tobias Oelgarte wrote:
>>>> I'm creating an app image with the following commands*:
>>>> jlink --output runtime --module-path [..] --add-modules [..]
>>>> jpackage --type app-image --dest image --module [..]
>>>> --runtime-image runtime --name Name
>>>> Now i copy some extra files to the resulting image, which are
>>>> needed during program execution.
>>>> After that i can create an MSI installer with the following command*:
>>>> jpackage --type msi --dest installer --app-image image --name Name
>>>> As the result I get an installer which also includes the extra
>>>> files which I added to the app-image an the extra files are
>>>> installed along with the rest of the image.
>>>> But if i do the same, creating a Debian installer package (deb),
>>>> then the extra files are not included.
>>>> jpackage --type deb --dest installer --app-image image --name Name
>>>> The resulting deb installs just fine, but the files are not
>>>> included in the deb archive and are obviously not written to the
>>>> installation directory.
>>>> Did I miss something, or is this not possible when creating an
>>>> Debian package?
>>>> * I removed some trivial parameters like --vendor, --copyright,
>>>> --resource-dir, e.t.c. to keep the commandlines short
More information about the jdk-dev