Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » e(fx)clipse » Native launcher artifacts for efxclipse application
Native launcher artifacts for efxclipse application [message #1720585] Tue, 19 January 2016 14:10 Go to next message
Ali Karimi is currently offline Ali KarimiFriend
Messages: 30
Registered: October 2015
Member
Hey,

i was wondering if its possible to let tycho build native launchers for an
efxclipse application? What i have done is the following: Usual project layout
(NAME.app, NAME.feature, NAME.product, NAME.releng). Checked the option
The product includes native launcher artifacts in the overview tab of the
product file. This is also the way i would do it in an ordinary swt e4 application.
With this option enabled the tycho build will fail with an error message similar to the following:
[ERROR]   Software being installed: NAME.app.product 1.0.0
[ERROR]   Missing requirement: NAME.app.product 1.0.0 requires 'org.eclipse.equinox.executable.feature.group 0.0.0' but it could not be found

I am using a target platform file for my build and therefore i adjusted it with the following location entry:

<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="slicer" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.equinox.executable.feature.group" version="0.0.0"/>
<repository location="http://download.eclipse.org/eclipse/updates/4.5"/>
</location>

Now the tycho build succeeds and launchers for all configured
environments are build. Unfortunately, starting the application from the
generated launcher does not work. It results in error messages like the
following:
Caused by: java.lang.NoClassDefFoundError: javafx/beans/property/ReadOnlyObjectPropertyBase
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:272)
        ....
        ....
        ....
        ....

This seems to me like there is a mess up and the application is missing some mandatory javafx dependencies.

Please note: I know about the ant task to generate an executable. However, as far as i can see/read online, this gives only the option to build
for one platform at once. The platform the build itself is running on. This does not satisfy my needs, as i am trying to build for various platforms at
once.

Any hints on this?
Re: Native launcher artifacts for efxclipse application [message #1720586 is a reply to message #1720585] Tue, 19 January 2016 14:20 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas SchindlFriend
Messages: 6363
Registered: July 2009
Senior Member
a) IIRC the nightlies now also include the native launcher artifacts (I
think we are NOT shipping the feature although) so there would be no
need to reference other repos

b) Eclipse native launchers will work on Linux and Windows but they
make everything fail on OS-X, that's the reason we have turned them
off

c) the error you show indicates that
-Dorg.osgi.framework.bundle.parent=ext is not part of the eclipse.ini or
it is launching with a none OracleJDK who has no JavaFX

d) I've lately worked on native launchers for OS-X but they are not
done and won't be opensourced anytime soon

Tom


On 19.01.16 15:10, Ali Karimi wrote:
> Hey,
>
> i was wondering if its possible to let tycho build native launchers for
> an efxclipse application? What i have done is the following: Usual
> project layout
> (NAME.app, NAME.feature, NAME.product, NAME.releng). Checked the option
> The product includes native launcher artifacts in the overview tab of the
> product file. This is also the way i would do it in an ordinary swt e4
> application. With this option enabled the tycho build will fail with an
> error message similar to the following:
>
> [ERROR] Software being installed: NAME.app.product 1.0.0
> [ERROR] Missing requirement: NAME.app.product 1.0.0 requires
> 'org.eclipse.equinox.executable.feature.group 0.0.0' but it could not be
> found
>
> I am using a target platform file for my build and therefore i adjusted
> it with the following location entry:
>
>
> <location includeAllPlatforms="false" includeConfigurePhase="true"
> includeMode="slicer" includeSource="true" type="InstallableUnit">
> <unit id="org.eclipse.equinox.executable.feature.group" version="0.0.0"/>
> <repository location="http://download.eclipse.org/eclipse/updates/4.5"/>
> </location>
>
> Now the tycho build succeeds and launchers for all configured
> environments are build. Unfortunately, starting the application from the
> generated launcher does not work. It results in error messages like the
> following:
> Caused by: java.lang.NoClassDefFoundError:
> javafx/beans/property/ReadOnlyObjectPropertyBase
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(Unknown Source)
> at
> org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:272)
>
> ....
> ....
> ....
> ....
>
> This seems to me like there is a mess up and the application is missing
> some mandatory javafx dependencies.
> Please note: I know about the ant task to generate an executable.
> However, as far as i can see/read online, this gives only the option to
> build
> for one platform at once. The platform the build itself is running on.
> This does not satisfy my needs, as i am trying to build for various
> platforms at once.
> Any hints on this?
Re: Native launcher artifacts for efxclipse application [message #1720589 is a reply to message #1720586] Tue, 19 January 2016 14:45 Go to previous message
Ali Karimi is currently offline Ali KarimiFriend
Messages: 30
Registered: October 2015
Member
Thank you very much, for this fast answer.

Yes, i am building against the release version of efxclipse. Therefore the need for another repo. Yes you were right, there was a small typo in -Dorg.osgi.framework.bundle.parent=ext in my setup.
Without this hint, i would have probably spend some more hours on this.

Once again thanks!
Previous Topic:Embedded jetty in efxclipse application
Next Topic:DnD doesn't work after updating to efxcipse 2.2.0
Goto Forum:
  


Current Time: Mon Oct 23 10:13:38 GMT 2017

Powered by FUDForum. Page generated in 0.01699 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software