-
Bug
-
Resolution: Not an Issue
-
P3
-
None
-
9-repo-jigsaw
-
generic
-
generic
The problem happens when trying to launch a fork jigsaw vm through ant.
The tested java class is a simple Helloworld.java used to read system property and jvm arg:
=============
public static void main(String[] args){
System.out.println(System.getProperty("jvmarg")) ;
System.out.println(System.getProperty("sysprop")) ;
}
=============
Then try to run it through ant. The build.xml looks as below. JAVA_HOME is pointed to one jigsaw jdk.
It works well in legacy mode:
=============
<project name="tests" default="test" basedir="." >
<target name="javac">
<javac
srcdir="./src"
destdir="./classes"
includes="**/*.java">
</javac>
</target>
<target name="test" depends="javac">
<java fork="yes" classname="Helloworld">
<env key="CLASSPATH" value="./classes" />
<sysproperty key="sysprop" value="sysprop11" />
<jvmarg line="-Djvmarg=jvmarg22" />
<!-- <jvmarg line="-L /net/sqenfs-1/export1/comp/jsn/users/patrick/xml_jigsaw/jigsaw/mlib -m test.hybrid"/> -->
</java>
</target>
</project>
==============
Then shift to hybird mode, here it means enable below line:
<jvmarg line="-L /net/sqenfs-1/export1/comp/jsn/users/patrick/xml_jigsaw/jigsaw/mlib -m test.hybrid"/>
It throws below exception:
==============
test:
[java] Warning: CLASSPATH environment variable ignored when -m specified
[java] Got exception: java.lang.ClassNotFoundException: -Dsysprop=sysprop11
[java] java.lang.ClassNotFoundException: -Dsysprop=sysprop11
[java] at java.net.URLClassLoader$1.run(URLClassLoader.java:359)
[java] at java.net.URLClassLoader$1.run(URLClassLoader.java:348)
[java] at java.security.AccessController.doPrivileged(Native Method)
[java] at java.net.URLClassLoader.findClass(URLClassLoader.java:347)
[java] at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
[java] at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
[java] at java.lang.Class.forName0(Native Method)
[java] at java.lang.Class.forName(Class.java:264)
[java] at helper.ModuleTestRunWrapper.main(ModuleTestRunWrapper.java:42)
[java] Java Result: 1
==============
Notes:
It looks the issue is caused by <sysproperty> tag. When I remove it and only keep <jvmarg>, it works well.
==============
test:
[java] Warning: CLASSPATH environment variable ignored when -m specified
[java] jvmarg22
[java] null
===============
The tested java class is a simple Helloworld.java used to read system property and jvm arg:
=============
public static void main(String[] args){
System.out.println(System.getProperty("jvmarg")) ;
System.out.println(System.getProperty("sysprop")) ;
}
=============
Then try to run it through ant. The build.xml looks as below. JAVA_HOME is pointed to one jigsaw jdk.
It works well in legacy mode:
=============
<project name="tests" default="test" basedir="." >
<target name="javac">
<javac
srcdir="./src"
destdir="./classes"
includes="**/*.java">
</javac>
</target>
<target name="test" depends="javac">
<java fork="yes" classname="Helloworld">
<env key="CLASSPATH" value="./classes" />
<sysproperty key="sysprop" value="sysprop11" />
<jvmarg line="-Djvmarg=jvmarg22" />
<!-- <jvmarg line="-L /net/sqenfs-1/export1/comp/jsn/users/patrick/xml_jigsaw/jigsaw/mlib -m test.hybrid"/> -->
</java>
</target>
</project>
==============
Then shift to hybird mode, here it means enable below line:
<jvmarg line="-L /net/sqenfs-1/export1/comp/jsn/users/patrick/xml_jigsaw/jigsaw/mlib -m test.hybrid"/>
It throws below exception:
==============
test:
[java] Warning: CLASSPATH environment variable ignored when -m specified
[java] Got exception: java.lang.ClassNotFoundException: -Dsysprop=sysprop11
[java] java.lang.ClassNotFoundException: -Dsysprop=sysprop11
[java] at java.net.URLClassLoader$1.run(URLClassLoader.java:359)
[java] at java.net.URLClassLoader$1.run(URLClassLoader.java:348)
[java] at java.security.AccessController.doPrivileged(Native Method)
[java] at java.net.URLClassLoader.findClass(URLClassLoader.java:347)
[java] at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
[java] at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
[java] at java.lang.Class.forName0(Native Method)
[java] at java.lang.Class.forName(Class.java:264)
[java] at helper.ModuleTestRunWrapper.main(ModuleTestRunWrapper.java:42)
[java] Java Result: 1
==============
Notes:
It looks the issue is caused by <sysproperty> tag. When I remove it and only keep <jvmarg>, it works well.
==============
test:
[java] Warning: CLASSPATH environment variable ignored when -m specified
[java] jvmarg22
[java] null
===============