@@ -53,29 +53,31 @@ private List<String> findVmOptions() {
5353 break ;
5454 }
5555 }
56- // Create list of VM options
57- List <String > vmOptions = new ArrayList <>(asList (PROCFS_CMDLINE ).subList (1 , index + 1 ));
58- ListIterator <String > iterator = vmOptions .listIterator ();
59- while (iterator .hasNext ()) {
60- String vmOption = iterator .next ();
61- if (vmOption .startsWith ("@" )) {
62- iterator .remove ();
63- for (String argument : getArgumentsFromFile (vmOption )) {
64- iterator .add (argument );
56+ if (index < PROCFS_CMDLINE .length ) {
57+ // Create list of VM options
58+ List <String > vmOptions = new ArrayList <>(asList (PROCFS_CMDLINE ).subList (1 , index + 1 ));
59+ ListIterator <String > iterator = vmOptions .listIterator ();
60+ while (iterator .hasNext ()) {
61+ String vmOption = iterator .next ();
62+ if (vmOption .startsWith ("@" )) {
63+ iterator .remove ();
64+ for (String argument : getArgumentsFromFile (vmOption )) {
65+ iterator .add (argument );
66+ }
6567 }
6668 }
69+ // Insert JDK_JAVA_OPTIONS at the start if present and supported
70+ List <String > jdkJavaOptions = getJdkJavaOptions ();
71+ if (!jdkJavaOptions .isEmpty ()) {
72+ vmOptions .addAll (0 , jdkJavaOptions );
73+ }
74+ // Insert JAVA_TOOL_OPTIONS at the start if present
75+ List <String > javaToolOptions = getJavaToolOptions ();
76+ if (!javaToolOptions .isEmpty ()) {
77+ vmOptions .addAll (0 , javaToolOptions );
78+ }
79+ return vmOptions ;
6780 }
68- // Insert JDK_JAVA_OPTIONS at the start if present and supported
69- List <String > jdkJavaOptions = getJdkJavaOptions ();
70- if (!jdkJavaOptions .isEmpty ()) {
71- vmOptions .addAll (0 , jdkJavaOptions );
72- }
73- // Insert JAVA_TOOL_OPTIONS at the start if present
74- List <String > javaToolOptions = getJavaToolOptions ();
75- if (!javaToolOptions .isEmpty ()) {
76- vmOptions .addAll (0 , javaToolOptions );
77- }
78- return vmOptions ;
7981 }
8082
8183 // Try Oracle-based
0 commit comments