I'm trying to understand bind-dirs

Yup tried that too but it didn’t work. Just tried it again to be sure. Sometimes when you copy/paste quotes, they carry over differently. I thought maybe it was that or extra spaces, or maybe delete the spaces. I tried various changes like that. It wouldn’t be surprising the error is in something very detailed and finicky.

That isn’t helpful.
In what way did it not work?
Were the bind directories created under /rw/bind-dirs?
Were those directories populated after you ran the install?

How did you handle the install of software-properties-common, and
dependent packages?
Did you ensure that you included all the dependent packages of zulu-11?

This isn’t the best use of bind-dirs - it’s hard to control and quite fragile.
Since you haven’t handled the repositories, it will be difficult to get
security patches or updates.
You would do better to use a cloned template for this purpose, or use a
standalone.

It didn’t not work similar to before; no directories were created under /rw/bind-dirs or in the expected locations.

software-properties-common was the only dependent package.

It actually is independent of zulu. I tried creating an empty folder and file within /tmp and they didn’t persist.

I think there is a limitation that only allows persistence of existing folder / file structure. I saw this literature here: https://github.com/QubesOS/qubes-issues/issues/2315

This isn’t “a limitation” of bind-dirs.
The doc clearly state that it is a mechanism where “files usually taken
from the template can be persisted”
In the “How does it work?” section, it explicitly says:

Files or folders identified in the array are copied to /rw/bind-dirs if
they do not already exist there, and are then bind mounted over the
original files/folders.

If the file or folder does not exist in the template, then bind-dirs has
nothing to work on, and wont magically create anything.

If the files/folders do not exist in the template, then you need to
create them before implementing bind-dirs.
Then, once you have set up bind-dirs, and have it working, you can
install in to those folders.

As I have said, I don’t think this is the best way to do what you want.

I tried both ways; (1) established the bind in 50_user.conf first and (2) created the file /folder first. Neither methods worked. I can however bind an existing directory and new / existing files within that directory.

Preferably, I don’t like a 3rd party program in a templateVM. If I have to, I have utilized a 3rd party standalone / templateVM, which I what I’m doing with VPN. However, in this case, I can replace zulu with default-jre. There’s another instance that requires oracle java. That only works if I install both the app and java app in the same directory within the AppVM or templateVM. I chose to install it in the AppVM.

It’s very difficult to debug with such limited information.
Can you write down exactly what steps you have taken in case (2)

I wan’t to switch from adding symbolic link from file in /rw/config to myapp.desktop shortcut in /usr/share/applications, to using bind-mount to that myapp.desktop shortcut but it seems not work. What can be the problem? Bind-mounts for folders in /etc/ works for me.