jpackage Packaging Tool EA Build Question

Andy Herrick andy.herrick at oracle.com
Mon Jan 7 20:59:55 UTC 2019


interesting ...

I would think I would want to do this by first building the app image, 
then moving the pieces around before building the installer.

But that doesn't work:

1.) the installer expects to find a "runtime" sub-directory of the 
app-image directory.  This could be considered a bug, and I will fix it, 
but it can be worked around by creating an extra empty "runtime" subdir 
in the app image.

2.) the installer needs to find the app itself (for installing shortcuts 
to it).  When using an app-image it determines the app name by looking 
for a cfg file in the "app" sub-directory of the app-image.  Then given 
the name, it looks for executable and ico of that name in the top level 
app-image directory.

I suspect I could work around even that by using drop-in resources with 
the new --resource-dir arg but not sure.  I will look into it and get 
back to you. (this is significantly different since JDK-8215515 
<https://bugs.openjdk.java.net/browse/JDK-8215515> , so even if I can 
work around this in that way - you would have to wait for the next EA drop).

The bigger question is should there be some way to express the install 
root differently from the app root ?

/Andy


On 1/7/2019 10:47 AM, Andrew Auclair wrote:
> Hi,
>
> We are currently using JDK 10 with javapackager and have looked at the Early Access build available for the jpackage enhancement. We have a question about an issue we are currently experiencing with javapackager, which appears to have the same behavior in jpackage.
>
> Background:
>
> In our install we have several 32 bit C++ applications, some 64 bit C++ applications and 64 bit JDK 10 Java applications. The 64 bit C++ and Java applications both use a set of C++ DLLs. This has forced us to place the 64 bit C++ applications in the app folder that the javapackager creates. Jpackage appears to create the same app folder.
>
> Our folder structure is outlined below. The executable generated by javapackager appears to be hardcoded to use the app/*.cfg files. We would like the ability to place the contents of the app folder directly in our bin64 folder along with the exe and ico that are generated.
>
> Install / bin64 / app / native64.dll
> Install / bin64 / app / cpp64bitapp.exe
> Install / bin64 / app / javaapp.jar
> Install / bin64 / app / javaapp.cfg
> Install / bin64 / javaapp.exe
> Install / bin64 / runtime <-- JRE 10 runtime
> Install / native.dll
> Install / cpp32bitapp.exe
>
> Question:
> Is it possible for us to rename or change the app folder, or to place the contents of the app folder in the parent directory?
>
>
>
> Thank you for taking the time to read this, any response is greatly appreciated,
>
>
>
> Andrew Auclair
>
> Software Engineer
>
> Tactical Communications Group, LLC
>
> 2 Highwood Drive, Building 2, Suite 200
>
> Tewksbury, MA 01876-1157
>
> 978-654-4849
>


More information about the core-libs-dev mailing list