jpackage does not include extra files from app-image when creating Debian package?

Tobias Oelgarte 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:
> Tobias,
>
> 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 [..] 
>>>> --bind-services
>>>>   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 mailing list