You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@netbeans.apache.org by Andreas Hauffe <an...@tu-dresden.de> on 2018/08/20 06:10:02 UTC
Bundle JRE 10 to a netbeans platform application
Hi,
I'm trying to bundle a JRE 10.0.2 to a netbeans platform application.
I'm using the following article
https://dzone.com/articles/including-jre-in-nbi and change the part of
creating the zip file of the jre by something like the following lines
jlink --strip-debug --no-header-files --no-man-pages --output
jre_lin_x64 --module-path ${JRE_PATH}/jmods --add-modules
java.scripting,java.desktop,java.instrument,java.logging,java.naming,jdk.localedata,jdk.management,jdk.pack,jdk.jdwp.agent
--include-locales=en,de
zip -9 -r -y ../jre_win_x64.zip .
(The commands vary from linux to windows.)
But when running the installer I'm getting an error that there is no
jre. And in the logs show:
[2018-08-17 17:21:25.887]> Create new process:
[2018-08-17 17:21:25.887]> command :
C:\Users\${USER}\AppData\Local\Temp\\NBI60854.tmp\_jvm\bin\java.exe
-classpath C:\Users\ADMINI~1.ILR\AppData\Local\Temp\\NBI60854.tmp TestJDK
[2018-08-17 17:21:25.887]> directory : C:\Temp
[2018-08-17 17:21:26.180]> ... no java at
C:\Users\${USER}\AppData\Local\Temp\\NBI60854.tmp\_jvm
[2018-08-17 17:21:26.180]> ... check private jre at
C:\Users\${USER}\AppData\Local\Temp\\NBI60854.tmp\_jvm\jre
[2018-08-17 17:30:37.086]> No compatible jvm was found on the system
But when looking into the path, there is a JRE and a java.exe and the
command is running correctly.
Did someone have this working already?
Is there a problem with the version number of Java 10? I'm not used to
C, but when looking into the getJavaVersionFromString from
https://github.com/apache/incubator-netbeans/blob/master/nbi/engine/native/launcher/windows/src/JavaUtils.c
it can be a problem. This is the installer source code, right?
--
Regards,
Andreas Hauffe
Re: Bundle JRE 10 to a netbeans platform application
Posted by Andreas Hauffe <an...@tu-dresden.de>.
Hi,
I already did both. See
https://issues.apache.org/jira/projects/NETBEANS/issues/NETBEANS-1157
The point is, that I don't understand how the zip-files with the
precompiled native executables and libraries work and where they come
from, that are used during the netbeans build process. So as long as the
netbeans 8.2 zip files are used, this bug will not be resolved.
--
Regards,
Andreas Hauffe
Am 21.08.2018 um 10:45 schrieb Tushar Joshi:
> This looks like a necessary update for Java10 and shall be submitted
> as a PR against one issue created for this topic.
> Please think over it.
>
> with regards
> Tushar
>
>
>
> On Mon, Aug 20, 2018 at 9:11 PM Andreas Hauffe
> <andreas.hauffe@tu-dresden.de <ma...@tu-dresden.de>>
> wrote:
>
> Hi,
>
> thanks for the hint.
>
> But I just change the code of the windows installer launcher of
> netbeans so that it is working for Java 10. This was quite a pain,
> due the fact, that I do not really understand how the build
> process during the IDE compilation is working. Some ZIP files are
> used which override all changes of native executables with
> netbeans 8.2 executables.
>
> I changed line 125 - 181 of
> https://github.com/apache/incubator-netbeans/blob/master/nbi/engine/native/launcher/windows/src/JavaUtils.c
> to the following and copied the compiled nbi-engine.jar to
> netbeans/harness/modules/ext/ manually.
>
> ----
>
> JavaVersion * getJavaVersionFromString(char * string, DWORD *
> result) {
> JavaVersion *vers = NULL;
> if(getLengthA(string)>=3) {
> char *p = string;
>
> // get major
> long major = 0;
> while(p!=NULL) {
> char c = p[0];
> if(c>='0' && c<='9') {
> major = (major) * 10 + c - '0';
> p++;
> continue;
> }
> else if(c=='.'){
> p++;
> }
> else{
> return vers;
> }
> break;
> }
>
> // get minor
> long minor = 0;
> while(p!=NULL) {
> char c = p[0];
> if(c>='0' && c<='9') {
> minor = (minor) * 10 + c - '0';
> p++;
> continue;
> }
> break;
> }
>
> *result = ERROR_OK;
> vers = (JavaVersion*) LocalAlloc(LPTR, sizeof(JavaVersion));
> vers->major = major;
> vers->minor = minor;
> vers->micro = 0;
> vers->update = 0;
> ZERO(vers->build, 128);
>
> if(p!=NULL) {
> if(p[0]=='.') { // micro...
> p++;
> while(p!=NULL) {
> char c = p[0];
> if(c>='0' && c<='9') {
> vers->micro = (vers->micro) * 10 + c - '0';
> p++;
> continue;
> }
> else if(c=='_') {//update
> p++;
> while(p!=NULL) {
> c = p[0];
> p++;
> if(c>='0' && c<='9') {
> vers->update = (vers->update) * 10
> + c - '0';
> continue;
> } else {
> break;
> }
> }
> } else {
> if(p!=NULL) p++;
> }
> if(c=='-' && p!=NULL) { // build number
> lstrcpyn(vers->build, p, min(127,
> getLengthA(p)+1));
> }
> break;
> }
> }
> }
> }
> return vers;
> }
>
> ----
>
>
> --
> Regards,
> Andreas Hauffe
>
>
>
>
>
> Am 20.08.2018 um 12:23 schrieb Neil C Smith:
>> You might want to check out the thread around using InnoSetup for
>> this from around Aug 1st too.
>>
>> Best wishes,
>>
>> Neil
>>
>> On Mon, 20 Aug 2018, 08:55 Andreas Hauffe,
>> <andreas.hauffe@tu-dresden.de
>> <ma...@tu-dresden.de>> wrote:
>>
>> Hi,
>>
>> I tried with Netbeans 9 and JDK8/JRE8 and this is working.
>>
>> The verbose output of running the windows installer with a
>> bundled JRE10 is the following:
>>
>> 2018-08-20 09:48:12.421]> Create new process:
>> [2018-08-20 09:48:12.421]> command :
>> C:\Users\${USER}\AppData\Local\Temp\\NBI25406.tmp\_jvm\bin\java.exe
>> -classpath C:\Users\${USER}\AppData\Local\Temp\\NBI25406.tmp
>> TestJDK
>> [2018-08-20 09:48:12.421]> directory : C:\Temp
>> [2018-08-20 09:48:12.437]> ... process created
>> [2018-08-20 09:48:12.682]> ... process finished his work
>> [2018-08-20 09:48:12.682]> output :
>> 10.0.2
>> 10.0.2+13
>> Oracle Corporation
>> Windows 10
>> amd64
>>
>> [2018-08-20 09:48:12.682]> java.version = 10.0.2
>> [2018-08-20 09:48:12.698]> java.vm.version = 10.0.2+13
>> [2018-08-20 09:48:12.698]> java.vendor = Oracle Corporation
>> [2018-08-20 09:48:12.714]> os.name <http://os.name> = Windows 10
>> [2018-08-20 09:48:12.714]> os.arch = amd64
>> [2018-08-20 09:48:12.714]>
>> [2018-08-20 09:48:12.729]> ... getting java version from
>> string : 10.0.2+13
>> [2018-08-20 09:48:12.729]> ... some java there
>> [2018-08-20 09:48:12.729]> ... no java at
>> C:\Users\${USER}\AppData\Local\Temp\\NBI25406.tmp\_jvm
>> [2018-08-20 09:48:12.745]> ... check private jre at
>> C:\Users\${USER}\AppData\Local\Temp\\NBI25406.tmp\_jvm\jre
>> [2018-08-20 09:48:12.745]> ... not a java hierarchy
>> [2018-08-20 09:48:12.760]> ... no java was found
>>
>>
>> --
>> Regards,
>> Andreas Hauffe
>>
>>
>>
>> Am 20.08.2018 um 08:13 schrieb Geertjan Wielenga:
>>> First try to bundle JRE 8. If that works, then try to bundle
>>> JRE 10. Doing it like this makes it easier to narrow down
>>> the problem.
>>>
>>> Gj
>>>
>>> On Mon, Aug 20, 2018 at 8:10 AM, Andreas Hauffe
>>> <andreas.hauffe@tu-dresden.de
>>> <ma...@tu-dresden.de>> wrote:
>>>
>>> Hi,
>>>
>>> I'm trying to bundle a JRE 10.0.2 to a netbeans platform
>>> application. I'm using the following article
>>> https://dzone.com/articles/including-jre-in-nbi and
>>> change the part of creating the zip file of the jre by
>>> something like the following lines
>>>
>>> jlink --strip-debug --no-header-files --no-man-pages
>>> --output jre_lin_x64 --module-path ${JRE_PATH}/jmods
>>> --add-modules
>>> java.scripting,java.desktop,java.instrument,java.logging,java.naming,jdk.localedata,jdk.management,jdk.pack,jdk.jdwp.agent
>>> --include-locales=en,de
>>> zip -9 -r -y ../jre_win_x64.zip .
>>>
>>> (The commands vary from linux to windows.)
>>>
>>> But when running the installer I'm getting an error that
>>> there is no jre. And in the logs show:
>>>
>>> [2018-08-17 17:21:25.887]> Create new process:
>>> [2018-08-17 17:21:25.887]> command :
>>> C:\Users\${USER}\AppData\Local\Temp\\NBI60854.tmp\_jvm\bin\java.exe
>>> -classpath
>>> C:\Users\ADMINI~1.ILR\AppData\Local\Temp\\NBI60854.tmp
>>> TestJDK
>>> [2018-08-17 17:21:25.887]> directory : C:\Temp
>>> [2018-08-17 17:21:26.180]> ... no java at
>>> C:\Users\${USER}\AppData\Local\Temp\\NBI60854.tmp\_jvm
>>> [2018-08-17 17:21:26.180]> ... check private jre at
>>> C:\Users\${USER}\AppData\Local\Temp\\NBI60854.tmp\_jvm\jre
>>> [2018-08-17 17:30:37.086]> No compatible jvm was found
>>> on the system
>>>
>>> But when looking into the path, there is a JRE and a
>>> java.exe and the command is running correctly.
>>>
>>> Did someone have this working already?
>>>
>>> Is there a problem with the version number of Java 10?
>>> I'm not used to C, but when looking into the
>>> getJavaVersionFromString from
>>> https://github.com/apache/incubator-netbeans/blob/master/nbi/engine/native/launcher/windows/src/JavaUtils.c
>>> it can be a problem. This is the installer source code,
>>> right?
>>>
>>> --
>>> Regards,
>>> Andreas Hauffe
>>>
>>>
>>>
Re: Bundle JRE 10 to a netbeans platform application
Posted by Tushar Joshi <tu...@gmail.com>.
This looks like a necessary update for Java10 and shall be submitted as a
PR against one issue created for this topic.
Please think over it.
with regards
Tushar
On Mon, Aug 20, 2018 at 9:11 PM Andreas Hauffe <an...@tu-dresden.de>
wrote:
> Hi,
>
> thanks for the hint.
>
> But I just change the code of the windows installer launcher of netbeans
> so that it is working for Java 10. This was quite a pain, due the fact,
> that I do not really understand how the build process during the IDE
> compilation is working. Some ZIP files are used which override all changes
> of native executables with netbeans 8.2 executables.
>
> I changed line 125 - 181 of
> https://github.com/apache/incubator-netbeans/blob/master/nbi/engine/native/launcher/windows/src/JavaUtils.c
> to the following and copied the compiled nbi-engine.jar to
> netbeans/harness/modules/ext/ manually.
>
> ----
>
> JavaVersion * getJavaVersionFromString(char * string, DWORD * result) {
> JavaVersion *vers = NULL;
> if(getLengthA(string)>=3) {
> char *p = string;
>
> // get major
> long major = 0;
> while(p!=NULL) {
> char c = p[0];
> if(c>='0' && c<='9') {
> major = (major) * 10 + c - '0';
> p++;
> continue;
> }
> else if(c=='.'){
> p++;
> }
> else{
> return vers;
> }
> break;
> }
>
> // get minor
> long minor = 0;
> while(p!=NULL) {
> char c = p[0];
> if(c>='0' && c<='9') {
> minor = (minor) * 10 + c - '0';
> p++;
> continue;
> }
> break;
> }
>
> *result = ERROR_OK;
> vers = (JavaVersion*) LocalAlloc(LPTR, sizeof(JavaVersion));
> vers->major = major;
> vers->minor = minor;
> vers->micro = 0;
> vers->update = 0;
> ZERO(vers->build, 128);
>
> if(p!=NULL) {
> if(p[0]=='.') { // micro...
> p++;
> while(p!=NULL) {
> char c = p[0];
> if(c>='0' && c<='9') {
> vers->micro = (vers->micro) * 10 + c - '0';
> p++;
> continue;
> }
> else if(c=='_') {//update
> p++;
> while(p!=NULL) {
> c = p[0];
> p++;
> if(c>='0' && c<='9') {
> vers->update = (vers->update) * 10 + c -
> '0';
> continue;
> } else {
> break;
> }
> }
> } else {
> if(p!=NULL) p++;
> }
> if(c=='-' && p!=NULL) { // build number
> lstrcpyn(vers->build, p, min(127,
> getLengthA(p)+1));
> }
> break;
> }
> }
> }
> }
> return vers;
> }
>
> ----
>
> --
> Regards,
> Andreas Hauffe
>
>
>
>
>
>
> Am 20.08.2018 um 12:23 schrieb Neil C Smith:
>
> You might want to check out the thread around using InnoSetup for this
> from around Aug 1st too.
>
> Best wishes,
>
> Neil
>
> On Mon, 20 Aug 2018, 08:55 Andreas Hauffe, <an...@tu-dresden.de>
> wrote:
>
>> Hi,
>>
>> I tried with Netbeans 9 and JDK8/JRE8 and this is working.
>>
>> The verbose output of running the windows installer with a bundled JRE10
>> is the following:
>>
>> 2018-08-20 09:48:12.421]> Create new process:
>> [2018-08-20 09:48:12.421]> command :
>> C:\Users\${USER}\AppData\Local\Temp\\NBI25406.tmp\_jvm\bin\java.exe
>> -classpath C:\Users\${USER}\AppData\Local\Temp\\NBI25406.tmp TestJDK
>> [2018-08-20 09:48:12.421]> directory : C:\Temp
>> [2018-08-20 09:48:12.437]> ... process created
>> [2018-08-20 09:48:12.682]> ... process finished his work
>> [2018-08-20 09:48:12.682]> output :
>> 10.0.2
>> 10.0.2+13
>> Oracle Corporation
>> Windows 10
>> amd64
>>
>> [2018-08-20 09:48:12.682]> java.version = 10.0.2
>> [2018-08-20 09:48:12.698]> java.vm.version = 10.0.2+13
>> [2018-08-20 09:48:12.698]> java.vendor = Oracle Corporation
>> [2018-08-20 09:48:12.714]> os.name = Windows 10
>> [2018-08-20 09:48:12.714]> os.arch = amd64
>> [2018-08-20 09:48:12.714]>
>> [2018-08-20 09:48:12.729]> ... getting java version from string :
>> 10.0.2+13
>> [2018-08-20 09:48:12.729]> ... some java there
>> [2018-08-20 09:48:12.729]> ... no java at
>> C:\Users\${USER}\AppData\Local\Temp\\NBI25406.tmp\_jvm
>> [2018-08-20 09:48:12.745]> ... check private jre at
>> C:\Users\${USER}\AppData\Local\Temp\\NBI25406.tmp\_jvm\jre
>> [2018-08-20 09:48:12.745]> ... not a java hierarchy
>> [2018-08-20 09:48:12.760]> ... no java was found
>>
>> --
>> Regards,
>> Andreas Hauffe
>>
>>
>>
>> Am 20.08.2018 um 08:13 schrieb Geertjan Wielenga:
>>
>> First try to bundle JRE 8. If that works, then try to bundle JRE 10.
>> Doing it like this makes it easier to narrow down the problem.
>>
>> Gj
>>
>> On Mon, Aug 20, 2018 at 8:10 AM, Andreas Hauffe <
>> andreas.hauffe@tu-dresden.de> wrote:
>>
>>> Hi,
>>>
>>> I'm trying to bundle a JRE 10.0.2 to a netbeans platform application.
>>> I'm using the following article
>>> https://dzone.com/articles/including-jre-in-nbi and change the part of
>>> creating the zip file of the jre by something like the following lines
>>>
>>> jlink --strip-debug --no-header-files --no-man-pages --output
>>> jre_lin_x64 --module-path ${JRE_PATH}/jmods --add-modules
>>> java.scripting,java.desktop,java.instrument,java.logging,java.naming,jdk.localedata,jdk.management,jdk.pack,jdk.jdwp.agent
>>> --include-locales=en,de
>>> zip -9 -r -y ../jre_win_x64.zip .
>>>
>>> (The commands vary from linux to windows.)
>>>
>>> But when running the installer I'm getting an error that there is no
>>> jre. And in the logs show:
>>>
>>> [2018-08-17 17:21:25.887]> Create new process:
>>> [2018-08-17 17:21:25.887]> command :
>>> C:\Users\${USER}\AppData\Local\Temp\\NBI60854.tmp\_jvm\bin\java.exe
>>> -classpath C:\Users\ADMINI~1.ILR\AppData\Local\Temp\\NBI60854.tmp TestJDK
>>> [2018-08-17 17:21:25.887]> directory : C:\Temp
>>> [2018-08-17 17:21:26.180]> ... no java at
>>> C:\Users\${USER}\AppData\Local\Temp\\NBI60854.tmp\_jvm
>>> [2018-08-17 17:21:26.180]> ... check private jre at
>>> C:\Users\${USER}\AppData\Local\Temp\\NBI60854.tmp\_jvm\jre
>>> [2018-08-17 17:30:37.086]> No compatible jvm was found on the system
>>>
>>> But when looking into the path, there is a JRE and a java.exe and the
>>> command is running correctly.
>>>
>>> Did someone have this working already?
>>>
>>> Is there a problem with the version number of Java 10? I'm not used to
>>> C, but when looking into the getJavaVersionFromString from
>>> https://github.com/apache/incubator-netbeans/blob/master/nbi/engine/native/launcher/windows/src/JavaUtils.c
>>> it can be a problem. This is the installer source code, right?
>>>
>>> --
>>> Regards,
>>> Andreas Hauffe
>>>
>>>
>>>
>>
Re: Bundle JRE 10 to a netbeans platform application
Posted by Andreas Hauffe <an...@tu-dresden.de>.
Hi,
thanks for the hint.
But I just change the code of the windows installer launcher of netbeans
so that it is working for Java 10. This was quite a pain, due the fact,
that I do not really understand how the build process during the IDE
compilation is working. Some ZIP files are used which override all
changes of native executables with netbeans 8.2 executables.
I changed line 125 - 181 of
https://github.com/apache/incubator-netbeans/blob/master/nbi/engine/native/launcher/windows/src/JavaUtils.c
to the following and copied the compiled nbi-engine.jar to
netbeans/harness/modules/ext/ manually.
----
JavaVersion * getJavaVersionFromString(char * string, DWORD * result) {
JavaVersion *vers = NULL;
if(getLengthA(string)>=3) {
char *p = string;
// get major
long major = 0;
while(p!=NULL) {
char c = p[0];
if(c>='0' && c<='9') {
major = (major) * 10 + c - '0';
p++;
continue;
}
else if(c=='.'){
p++;
}
else{
return vers;
}
break;
}
// get minor
long minor = 0;
while(p!=NULL) {
char c = p[0];
if(c>='0' && c<='9') {
minor = (minor) * 10 + c - '0';
p++;
continue;
}
break;
}
*result = ERROR_OK;
vers = (JavaVersion*) LocalAlloc(LPTR, sizeof(JavaVersion));
vers->major = major;
vers->minor = minor;
vers->micro = 0;
vers->update = 0;
ZERO(vers->build, 128);
if(p!=NULL) {
if(p[0]=='.') { // micro...
p++;
while(p!=NULL) {
char c = p[0];
if(c>='0' && c<='9') {
vers->micro = (vers->micro) * 10 + c - '0';
p++;
continue;
}
else if(c=='_') {//update
p++;
while(p!=NULL) {
c = p[0];
p++;
if(c>='0' && c<='9') {
vers->update = (vers->update) * 10 + c
- '0';
continue;
} else {
break;
}
}
} else {
if(p!=NULL) p++;
}
if(c=='-' && p!=NULL) { // build number
lstrcpyn(vers->build, p, min(127,
getLengthA(p)+1));
}
break;
}
}
}
}
return vers;
}
----
--
Regards,
Andreas Hauffe
Am 20.08.2018 um 12:23 schrieb Neil C Smith:
> You might want to check out the thread around using InnoSetup for this
> from around Aug 1st too.
>
> Best wishes,
>
> Neil
>
> On Mon, 20 Aug 2018, 08:55 Andreas Hauffe,
> <andreas.hauffe@tu-dresden.de <ma...@tu-dresden.de>>
> wrote:
>
> Hi,
>
> I tried with Netbeans 9 and JDK8/JRE8 and this is working.
>
> The verbose output of running the windows installer with a bundled
> JRE10 is the following:
>
> 2018-08-20 09:48:12.421]> Create new process:
> [2018-08-20 09:48:12.421]> command :
> C:\Users\${USER}\AppData\Local\Temp\\NBI25406.tmp\_jvm\bin\java.exe
> -classpath C:\Users\${USER}\AppData\Local\Temp\\NBI25406.tmp TestJDK
> [2018-08-20 09:48:12.421]> directory : C:\Temp
> [2018-08-20 09:48:12.437]> ... process created
> [2018-08-20 09:48:12.682]> ... process finished his work
> [2018-08-20 09:48:12.682]> output :
> 10.0.2
> 10.0.2+13
> Oracle Corporation
> Windows 10
> amd64
>
> [2018-08-20 09:48:12.682]> java.version = 10.0.2
> [2018-08-20 09:48:12.698]> java.vm.version = 10.0.2+13
> [2018-08-20 09:48:12.698]> java.vendor = Oracle Corporation
> [2018-08-20 09:48:12.714]> os.name <http://os.name> = Windows 10
> [2018-08-20 09:48:12.714]> os.arch = amd64
> [2018-08-20 09:48:12.714]>
> [2018-08-20 09:48:12.729]> ... getting java version from string :
> 10.0.2+13
> [2018-08-20 09:48:12.729]> ... some java there
> [2018-08-20 09:48:12.729]> ... no java at
> C:\Users\${USER}\AppData\Local\Temp\\NBI25406.tmp\_jvm
> [2018-08-20 09:48:12.745]> ... check private jre at
> C:\Users\${USER}\AppData\Local\Temp\\NBI25406.tmp\_jvm\jre
> [2018-08-20 09:48:12.745]> ... not a java hierarchy
> [2018-08-20 09:48:12.760]> ... no java was found
>
>
> --
> Regards,
> Andreas Hauffe
>
>
>
> Am 20.08.2018 um 08:13 schrieb Geertjan Wielenga:
>> First try to bundle JRE 8. If that works, then try to bundle JRE
>> 10. Doing it like this makes it easier to narrow down the problem.
>>
>> Gj
>>
>> On Mon, Aug 20, 2018 at 8:10 AM, Andreas Hauffe
>> <andreas.hauffe@tu-dresden.de
>> <ma...@tu-dresden.de>> wrote:
>>
>> Hi,
>>
>> I'm trying to bundle a JRE 10.0.2 to a netbeans platform
>> application. I'm using the following article
>> https://dzone.com/articles/including-jre-in-nbi and change
>> the part of creating the zip file of the jre by something
>> like the following lines
>>
>> jlink --strip-debug --no-header-files --no-man-pages --output
>> jre_lin_x64 --module-path ${JRE_PATH}/jmods --add-modules
>> java.scripting,java.desktop,java.instrument,java.logging,java.naming,jdk.localedata,jdk.management,jdk.pack,jdk.jdwp.agent
>> --include-locales=en,de
>> zip -9 -r -y ../jre_win_x64.zip .
>>
>> (The commands vary from linux to windows.)
>>
>> But when running the installer I'm getting an error that
>> there is no jre. And in the logs show:
>>
>> [2018-08-17 17:21:25.887]> Create new process:
>> [2018-08-17 17:21:25.887]> command :
>> C:\Users\${USER}\AppData\Local\Temp\\NBI60854.tmp\_jvm\bin\java.exe
>> -classpath
>> C:\Users\ADMINI~1.ILR\AppData\Local\Temp\\NBI60854.tmp TestJDK
>> [2018-08-17 17:21:25.887]> directory : C:\Temp
>> [2018-08-17 17:21:26.180]> ... no java at
>> C:\Users\${USER}\AppData\Local\Temp\\NBI60854.tmp\_jvm
>> [2018-08-17 17:21:26.180]> ... check private jre at
>> C:\Users\${USER}\AppData\Local\Temp\\NBI60854.tmp\_jvm\jre
>> [2018-08-17 17:30:37.086]> No compatible jvm was found on the
>> system
>>
>> But when looking into the path, there is a JRE and a java.exe
>> and the command is running correctly.
>>
>> Did someone have this working already?
>>
>> Is there a problem with the version number of Java 10? I'm
>> not used to C, but when looking into the
>> getJavaVersionFromString from
>> https://github.com/apache/incubator-netbeans/blob/master/nbi/engine/native/launcher/windows/src/JavaUtils.c
>> it can be a problem. This is the installer source code, right?
>>
>> --
>> Regards,
>> Andreas Hauffe
>>
>>
>>
Re: Bundle JRE 10 to a netbeans platform application
Posted by Neil C Smith <ne...@apache.org>.
You might want to check out the thread around using InnoSetup for this from
around Aug 1st too.
Best wishes,
Neil
On Mon, 20 Aug 2018, 08:55 Andreas Hauffe, <an...@tu-dresden.de>
wrote:
> Hi,
>
> I tried with Netbeans 9 and JDK8/JRE8 and this is working.
>
> The verbose output of running the windows installer with a bundled JRE10
> is the following:
>
> 2018-08-20 09:48:12.421]> Create new process:
> [2018-08-20 09:48:12.421]> command :
> C:\Users\${USER}\AppData\Local\Temp\\NBI25406.tmp\_jvm\bin\java.exe
> -classpath C:\Users\${USER}\AppData\Local\Temp\\NBI25406.tmp TestJDK
> [2018-08-20 09:48:12.421]> directory : C:\Temp
> [2018-08-20 09:48:12.437]> ... process created
> [2018-08-20 09:48:12.682]> ... process finished his work
> [2018-08-20 09:48:12.682]> output :
> 10.0.2
> 10.0.2+13
> Oracle Corporation
> Windows 10
> amd64
>
> [2018-08-20 09:48:12.682]> java.version = 10.0.2
> [2018-08-20 09:48:12.698]> java.vm.version = 10.0.2+13
> [2018-08-20 09:48:12.698]> java.vendor = Oracle Corporation
> [2018-08-20 09:48:12.714]> os.name = Windows 10
> [2018-08-20 09:48:12.714]> os.arch = amd64
> [2018-08-20 09:48:12.714]>
> [2018-08-20 09:48:12.729]> ... getting java version from string : 10.0.2+13
> [2018-08-20 09:48:12.729]> ... some java there
> [2018-08-20 09:48:12.729]> ... no java at
> C:\Users\${USER}\AppData\Local\Temp\\NBI25406.tmp\_jvm
> [2018-08-20 09:48:12.745]> ... check private jre at
> C:\Users\${USER}\AppData\Local\Temp\\NBI25406.tmp\_jvm\jre
> [2018-08-20 09:48:12.745]> ... not a java hierarchy
> [2018-08-20 09:48:12.760]> ... no java was found
>
> --
> Regards,
> Andreas Hauffe
>
>
>
> Am 20.08.2018 um 08:13 schrieb Geertjan Wielenga:
>
> First try to bundle JRE 8. If that works, then try to bundle JRE 10. Doing
> it like this makes it easier to narrow down the problem.
>
> Gj
>
> On Mon, Aug 20, 2018 at 8:10 AM, Andreas Hauffe <
> andreas.hauffe@tu-dresden.de> wrote:
>
>> Hi,
>>
>> I'm trying to bundle a JRE 10.0.2 to a netbeans platform application. I'm
>> using the following article
>> https://dzone.com/articles/including-jre-in-nbi and change the part of
>> creating the zip file of the jre by something like the following lines
>>
>> jlink --strip-debug --no-header-files --no-man-pages --output jre_lin_x64
>> --module-path ${JRE_PATH}/jmods --add-modules
>> java.scripting,java.desktop,java.instrument,java.logging,java.naming,jdk.localedata,jdk.management,jdk.pack,jdk.jdwp.agent
>> --include-locales=en,de
>> zip -9 -r -y ../jre_win_x64.zip .
>>
>> (The commands vary from linux to windows.)
>>
>> But when running the installer I'm getting an error that there is no jre.
>> And in the logs show:
>>
>> [2018-08-17 17:21:25.887]> Create new process:
>> [2018-08-17 17:21:25.887]> command :
>> C:\Users\${USER}\AppData\Local\Temp\\NBI60854.tmp\_jvm\bin\java.exe
>> -classpath C:\Users\ADMINI~1.ILR\AppData\Local\Temp\\NBI60854.tmp TestJDK
>> [2018-08-17 17:21:25.887]> directory : C:\Temp
>> [2018-08-17 17:21:26.180]> ... no java at
>> C:\Users\${USER}\AppData\Local\Temp\\NBI60854.tmp\_jvm
>> [2018-08-17 17:21:26.180]> ... check private jre at
>> C:\Users\${USER}\AppData\Local\Temp\\NBI60854.tmp\_jvm\jre
>> [2018-08-17 17:30:37.086]> No compatible jvm was found on the system
>>
>> But when looking into the path, there is a JRE and a java.exe and the
>> command is running correctly.
>>
>> Did someone have this working already?
>>
>> Is there a problem with the version number of Java 10? I'm not used to C,
>> but when looking into the getJavaVersionFromString from
>> https://github.com/apache/incubator-netbeans/blob/master/nbi/engine/native/launcher/windows/src/JavaUtils.c
>> it can be a problem. This is the installer source code, right?
>>
>> --
>> Regards,
>> Andreas Hauffe
>>
>>
>>
>
Re: Bundle JRE 10 to a netbeans platform application
Posted by Andreas Hauffe <an...@tu-dresden.de>.
Hi,
I tried with Netbeans 9 and JDK8/JRE8 and this is working.
The verbose output of running the windows installer with a bundled JRE10
is the following:
2018-08-20 09:48:12.421]> Create new process:
[2018-08-20 09:48:12.421]> command :
C:\Users\${USER}\AppData\Local\Temp\\NBI25406.tmp\_jvm\bin\java.exe
-classpath C:\Users\${USER}\AppData\Local\Temp\\NBI25406.tmp TestJDK
[2018-08-20 09:48:12.421]> directory : C:\Temp
[2018-08-20 09:48:12.437]> ... process created
[2018-08-20 09:48:12.682]> ... process finished his work
[2018-08-20 09:48:12.682]> output :
10.0.2
10.0.2+13
Oracle Corporation
Windows 10
amd64
[2018-08-20 09:48:12.682]> java.version = 10.0.2
[2018-08-20 09:48:12.698]> java.vm.version = 10.0.2+13
[2018-08-20 09:48:12.698]> java.vendor = Oracle Corporation
[2018-08-20 09:48:12.714]> os.name = Windows 10
[2018-08-20 09:48:12.714]> os.arch = amd64
[2018-08-20 09:48:12.714]>
[2018-08-20 09:48:12.729]> ... getting java version from string : 10.0.2+13
[2018-08-20 09:48:12.729]> ... some java there
[2018-08-20 09:48:12.729]> ... no java at
C:\Users\${USER}\AppData\Local\Temp\\NBI25406.tmp\_jvm
[2018-08-20 09:48:12.745]> ... check private jre at
C:\Users\${USER}\AppData\Local\Temp\\NBI25406.tmp\_jvm\jre
[2018-08-20 09:48:12.745]> ... not a java hierarchy
[2018-08-20 09:48:12.760]> ... no java was found
--
Regards,
Andreas Hauffe
Am 20.08.2018 um 08:13 schrieb Geertjan Wielenga:
> First try to bundle JRE 8. If that works, then try to bundle JRE 10.
> Doing it like this makes it easier to narrow down the problem.
>
> Gj
>
> On Mon, Aug 20, 2018 at 8:10 AM, Andreas Hauffe
> <andreas.hauffe@tu-dresden.de <ma...@tu-dresden.de>>
> wrote:
>
> Hi,
>
> I'm trying to bundle a JRE 10.0.2 to a netbeans platform
> application. I'm using the following article
> https://dzone.com/articles/including-jre-in-nbi
> <https://dzone.com/articles/including-jre-in-nbi> and change the
> part of creating the zip file of the jre by something like the
> following lines
>
> jlink --strip-debug --no-header-files --no-man-pages --output
> jre_lin_x64 --module-path ${JRE_PATH}/jmods --add-modules
> java.scripting,java.desktop,java.instrument,java.logging,java.naming,jdk.localedata,jdk.management,jdk.pack,jdk.jdwp.agent
> --include-locales=en,de
> zip -9 -r -y ../jre_win_x64.zip .
>
> (The commands vary from linux to windows.)
>
> But when running the installer I'm getting an error that there is
> no jre. And in the logs show:
>
> [2018-08-17 17:21:25.887]> Create new process:
> [2018-08-17 17:21:25.887]> command :
> C:\Users\${USER}\AppData\Local\Temp\\NBI60854.tmp\_jvm\bin\java.exe
> -classpath C:\Users\ADMINI~1.ILR\AppData\Local\Temp\\NBI60854.tmp
> TestJDK
> [2018-08-17 17:21:25.887]> directory : C:\Temp
> [2018-08-17 17:21:26.180]> ... no java at
> C:\Users\${USER}\AppData\Local\Temp\\NBI60854.tmp\_jvm
> [2018-08-17 17:21:26.180]> ... check private jre at
> C:\Users\${USER}\AppData\Local\Temp\\NBI60854.tmp\_jvm\jre
> [2018-08-17 17:30:37.086]> No compatible jvm was found on the system
>
> But when looking into the path, there is a JRE and a java.exe and
> the command is running correctly.
>
> Did someone have this working already?
>
> Is there a problem with the version number of Java 10? I'm not
> used to C, but when looking into the getJavaVersionFromString from
> https://github.com/apache/incubator-netbeans/blob/master/nbi/engine/native/launcher/windows/src/JavaUtils.c
> <https://github.com/apache/incubator-netbeans/blob/master/nbi/engine/native/launcher/windows/src/JavaUtils.c>
> it can be a problem. This is the installer source code, right?
>
> --
> Regards,
> Andreas Hauffe
>
>
>
Re: Bundle JRE 10 to a netbeans platform application
Posted by Geertjan Wielenga <ge...@googlemail.com.INVALID>.
First try to bundle JRE 8. If that works, then try to bundle JRE 10. Doing
it like this makes it easier to narrow down the problem.
Gj
On Mon, Aug 20, 2018 at 8:10 AM, Andreas Hauffe <
andreas.hauffe@tu-dresden.de> wrote:
> Hi,
>
> I'm trying to bundle a JRE 10.0.2 to a netbeans platform application. I'm
> using the following article https://dzone.com/articles/inc
> luding-jre-in-nbi and change the part of creating the zip file of the jre
> by something like the following lines
>
> jlink --strip-debug --no-header-files --no-man-pages --output jre_lin_x64
> --module-path ${JRE_PATH}/jmods --add-modules java.scripting,java.desktop,ja
> va.instrument,java.logging,java.naming,jdk.localedata,jdk.
> management,jdk.pack,jdk.jdwp.agent --include-locales=en,de
> zip -9 -r -y ../jre_win_x64.zip .
>
> (The commands vary from linux to windows.)
>
> But when running the installer I'm getting an error that there is no jre.
> And in the logs show:
>
> [2018-08-17 17:21:25.887]> Create new process:
> [2018-08-17 17:21:25.887]> command :
> C:\Users\${USER}\AppData\Local\Temp\\NBI60854.tmp\_jvm\bin\java.exe
> -classpath C:\Users\ADMINI~1.ILR\AppData\Local\Temp\\NBI60854.tmp TestJDK
> [2018-08-17 17:21:25.887]> directory : C:\Temp
> [2018-08-17 17:21:26.180]> ... no java at C:\Users\${USER}\AppData\Local
> \Temp\\NBI60854.tmp\_jvm
> [2018-08-17 17:21:26.180]> ... check private jre at
> C:\Users\${USER}\AppData\Local\Temp\\NBI60854.tmp\_jvm\jre
> [2018-08-17 17:30:37.086]> No compatible jvm was found on the system
>
> But when looking into the path, there is a JRE and a java.exe and the
> command is running correctly.
>
> Did someone have this working already?
>
> Is there a problem with the version number of Java 10? I'm not used to C,
> but when looking into the getJavaVersionFromString from
> https://github.com/apache/incubator-netbeans/blob/master/
> nbi/engine/native/launcher/windows/src/JavaUtils.c it can be a problem.
> This is the installer source code, right?
>
> --
> Regards,
> Andreas Hauffe
>
>
>