Tibor, yes, but with Java 8 the class loader that has the script engine
changed, which is what MNG-6275 is all about... the failing tests are
because Zulu JDK 7 doesn't have any script engine in the boot classpath and
the test (as originally written) assumes there is at least one

On 11 September 2017 at 11:51, Tibor Digana <[email protected]>
wrote:

> ServiceLoader in Java takes System ClassLoader by default.
>
> On Mon, Sep 11, 2017 at 11:41 AM, Stephen Connolly <
> [email protected]> wrote:
>
> > https://github.com/apache/maven/commit/542a7a89156263b34d1472e9d9c1a2
> > 795afccd2d
> >
> > If the JRE does not have a ScriptEngineFactory then the test cannot pass
> as
> > it relies on the assumption (invalid for Java 7) that there is always
> > a ScriptEngineFactory available.
> >
> > You can use this small class to check your JRE for  ScriptEngineFactory
> > implementations:
> >
> > import java.util.ServiceLoader;
> >
> > import javax.script.ScriptEngineFactory;
> >
> > public class ProbeScriptEngineFactory {
> > public static void main(String[] args) {
> > ServiceLoader<ScriptEngineFactory> sef = ServiceLoader.load(
> > ScriptEngineFactory.class );
> > System.out.println("Boot classloader");
> > System.out.println("================");
> > System.out.println();
> > for (ScriptEngineFactory f: sef) {
> > System.out.println(f.getClass().getName());
> > }
> > System.out.println();
> > sef = ServiceLoader.load( ScriptEngineFactory.class,
> > ProbeScriptEngineFactory.class.getClassLoader() );
> > System.out.println("Main classloader");
> > System.out.println("================");
> > System.out.println();
> > for (ScriptEngineFactory f: sef) {
> > System.out.println(f.getClass().getName());
> > }
> > }
> > }
> >
> > Here are some outputs:
> >
> > Apple JVM
> > --------------
> >
> > java version "1.6.0_24"
> > Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334)
> > Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode)
> > Boot classloader
> > ================
> >
> > com.sun.script.javascript.RhinoScriptEngineFactory
> >
> > Main classloader
> > ================
> >
> > com.sun.script.javascript.RhinoScriptEngineFactory
> >
> > OpenJDK 7 u60
> > ---------------------
> >
> > openjdk version "1.7.0-u60-unofficial"
> > OpenJDK Runtime Environment (build 1.7.0-u60-unofficial-b30)
> > OpenJDK 64-Bit Server VM (build 24.60-b09, mixed mode)
> > Boot classloader
> > ================
> >
> >
> > Main classloader
> > ================
> >
> > Oracle Java 7u80
> > -----------------------
> >
> > java version "1.7.0_80"
> > Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
> > Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
> > Boot classloader
> > ================
> >
> > com.sun.script.javascript.RhinoScriptEngineFactory
> >
> > Main classloader
> > ================
> >
> > com.sun.script.javascript.RhinoScriptEngineFactory
> >
> > Azul's Zulu 7u154
> > -----------------------
> >
> > openjdk version "1.7.0_154"
> > OpenJDK Runtime Environment (Zulu 7.20.0.3-linux64) (build 1.7.0_154-b01)
> > OpenJDK 64-Bit Server VM (Zulu 7.20.0.3-linux64) (build 24.154-b01, mixed
> > mode)
> > Boot classloader
> > ================
> >
> >
> > Main classloader
> > ================
> >
> > Oracle Java 8u131
> > -------------------------
> >
> > java version "1.8.0_131"
> > Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
> > Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
> > Boot classloader
> > ================
> >
> > jdk.nashorn.api.scripting.NashornScriptEngineFactory
> >
> > Main classloader
> > ================
> >
> > jdk.nashorn.api.scripting.NashornScriptEngineFactory
> >
> >
> > Now IIUC, Nashorn is part of Java 8 but Rhino was not required as part of
> > Java 7, hence from Java 8 onwards there should always be a
> > ScriptEngineFactory, but not every Java 7 was required to have one.
> >
> > On 10 September 2017 at 14:58, Stephen Connolly <
> > [email protected]> wrote:
> >
> > > Might just be the test is looking for an implementation class not
> > > available on those jres. Do you have the failure messages
> > >
> > > On Sun 10 Sep 2017 at 22:29, Tibor Digana <[email protected]
> >
> > > wrote:
> > >
> > >> You think it has to do you the commit fixing Class Loader issue or the
> > >> previous commits as well?
> > >>
> > >> On Sun, Sep 10, 2017 at 11:23 PM, Michael Osipov <[email protected]
> >
> > >> wrote:
> > >>
> > >> > Am 2017-09-10 um 23:19 schrieb Tibor Digana:
> > >> >
> > >> >> Definitely I agree!
> > >> >> Let's see if it is JDK issue or platform issue. Let's exclude
> Oracle
> > >> Java
> > >> >> suspicion and then it's serious issue.
> > >> >>
> > >> >
> > >> > Not a platform one. Reproduced on Windows 10 with Zulu 7 Update
> 154. I
> > >> > will download Oracla Java 7 from MOSC and test again. I am pretty
> sure
> > >> that
> > >> > it will fail too.
> > >> >
> > >> >
> > >> > On Sun, Sep 10, 2017 at 11:17 PM, Michael Osipov <
> [email protected]
> > >
> > >> >> wrote:
> > >> >>
> > >> >> Am 2017-09-10 um 23:15 schrieb Tibor Digana:
> > >> >>>
> > >> >>> This one 1.7.0_80 which is 7u80:
> > >> >>>> http://www.oracle.com/technetwork/java/javase/downloads/
> > >> >>>> java-archive-downloads-javase7-521261.html
> > >> >>>>
> > >> >>>>
> > >> >>> No one will seriously run this one. So if we say that our stuff
> runs
> > >> off
> > >> >>> 7
> > >> >>> then we have to test OpenJDK and Zulu too.
> > >> >>>
> > >> >>> Michael
> > >> >>>
> > >> >>>
> > >> >>> On Sun, Sep 10, 2017 at 11:12 PM, Michael Osipov <[email protected]>
> > >> wrote:
> > >> >>>
> > >> >>>>
> > >> >>>> Am 2017-09-10 um 23:07 schrieb Tibor Digana:
> > >> >>>>
> > >> >>>>>
> > >> >>>>> Michael, now try with Oracle Java 7.
> > >> >>>>>
> > >> >>>>>>
> > >> >>>>>>
> > >> >>>>>> Last public version or up-to-date paid version?
> > >> >>>>>
> > >> >>>>> On Sun, Sep 10, 2017 at 11:02 PM, Michael Osipov <
> > >> [email protected]>
> > >> >>>>>
> > >> >>>>> wrote:
> > >> >>>>>>
> > >> >>>>>> Am 2017-09-10 um 22:27 schrieb Stephen Connolly:
> > >> >>>>>>
> > >> >>>>>>
> > >> >>>>>>> Well I ran the release with 1.7.0_80 which iirc is the last
> > public
> > >> >>>>>>>
> > >> >>>>>>> release
> > >> >>>>>>>> of Oracle Java 7...
> > >> >>>>>>>>
> > >> >>>>>>>>
> > >> >>>>>>>> Fails also on Windows with Zulu 7:
> > >> >>>>>>>>
> > >> >>>>>>> $ mvn -v
> > >> >>>>>>> Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426;
> > >> >>>>>>> 2017-04-03T21:39:06+02:00)
> > >> >>>>>>> Maven home: D:\Entwicklung\Programme\apache-maven-3.5.0
> > >> >>>>>>> Java version: 1.7.0_154, vendor: Azul Systems, Inc.
> > >> >>>>>>> Java home: C:\Program Files\Zulu\zulu-7\jre
> > >> >>>>>>> Default locale: de_DE, platform encoding: Cp1252
> > >> >>>>>>> OS name: "windows 10", version: "10.0", arch: "amd64", family:
> > >> >>>>>>> "windows"
> > >> >>>>>>>
> > >> >>>>>>>
> > >> >>>>>>>
> > >> >>>>>>> On Sun 10 Sep 2017 at 21:08, Michael Osipov <
> > [email protected]>
> > >> >>>>>>> wrote:
> > >> >>>>>>>
> > >> >>>>>>>
> > >> >>>>>>> Folks,
> > >> >>>>>>>>
> > >> >>>>>>>>
> > >> >>>>>>>> tried running master on
> > >> >>>>>>>>> Maven home: /usr/local/share/java/maven
> > >> >>>>>>>>> Java version: 1.7.0_151, vendor: Oracle Corporation
> > >> >>>>>>>>> Java home: /usr/local/openjdk7/jre
> > >> >>>>>>>>> Default locale: de_DE, platform encoding: UTF-8
> > >> >>>>>>>>> OS name: "freebsd", version: "11.1-release-p1", arch:
> "i386",
> > >> >>>>>>>>> family:
> > >> >>>>>>>>> "unix"
> > >> >>>>>>>>>
> > >> >>>>>>>>> and I get this:
> > >> >>>>>>>>> Failed tests:
> > >> >>>>>>>>>
> > >> >>>>>>>>>
> > >> >>>>>>>>> DefaultClassRealmManagerTest.testMNG6275_
> coreRealmDefaultPar
> > >> >>>>>>>>> entClassLoader:99
> > >> >>>>>>>>> null
> > >> >>>>>>>>>
> > >> >>>>>>>>>
> > >> >>>>>>>>> DefaultClassRealmManagerTest.testMNG6275_
> extensionRealmDefau
> > >> >>>>>>>>> ltParentClassLoader:73
> > >> >>>>>>>>> null
> > >> >>>>>>>>>
> > >> >>>>>>>>>
> > >> >>>>>>>>> DefaultClassRealmManagerTest.testMNG6275_
> mavenApiRealmDefaul
> > >> >>>>>>>>> tParentClassLoader:91
> > >> >>>>>>>>> null
> > >> >>>>>>>>>
> > >> >>>>>>>>>
> > >> >>>>>>>>> DefaultClassRealmManagerTest.testMNG6275_
> pluginRealmDefaultP
> > >> >>>>>>>>> arentClassLoader:62
> > >> >>>>>>>>> null
> > >> >>>>>>>>>
> > >> >>>>>>>>>
> > >> >>>>>>>>> DefaultClassRealmManagerTest.testMNG6275_
> projectRealmDefault
> > >> >>>>>>>>> ParentClassLoader:83
> > >> >>>>>>>>> null
> > >> >>>>>>>>>
> > >> >>>>>>>>> All tests fail with "junit.framework.AssertionFailedError:
> > >> null".
> > >> >>>>>>>>>
> > >> >>>>>>>>> Running with
> > >> >>>>>>>>> Maven home: /usr/local/share/java/maven
> > >> >>>>>>>>> Java version: 1.8.0_144, vendor: Oracle Corporation
> > >> >>>>>>>>> Java home: /usr/local/openjdk8/jre
> > >> >>>>>>>>> Default locale: de_DE, platform encoding: UTF-8
> > >> >>>>>>>>> OS name: "freebsd", version: "11.1-release-p1", arch:
> "i386",
> > >> >>>>>>>>> family:
> > >> >>>>>>>>> "unix"
> > >> >>>>>>>>>
> > >> >>>>>>>>> works flawlessly.
> > >> >>>>>>>>>
> > >> >>>>>>>>> Any ideas?
> > >> >>>>>>>>>
> > >> >>>>>>>>> ------------------------------
> ------------------------------
> > >> >>>>>>>>> ---------
> > >> >>>>>>>>> To unsubscribe, e-mail: [email protected]
> > >> >>>>>>>>> For additional commands, e-mail: [email protected]
> > >> >>>>>>>>>
> > >> >>>>>>>>> --
> > >> >>>>>>>>>
> > >> >>>>>>>>> Sent from my phone
> > >> >>>>>>>>>
> > >> >>>>>>>>>
> > >> >>>>>>>>
> > >> >>>>>>>>
> > >> >>>>>>>> ------------------------------------------------------------
> > >> >>>>>>>> ---------
> > >> >>>>>>>>
> > >> >>>>>>> To unsubscribe, e-mail: [email protected]
> > >> >>>>>>> For additional commands, e-mail: [email protected]
> > >> >>>>>>>
> > >> >>>>>>>
> > >> >>>>>>>
> > >> >>>>>>>
> > >> >>>>>>>
> > >> >>>>>>
> > >> >>>>>>
> > >> >>>>>
> > >> >>>>
> > >> >>>>
> > >> >>> ------------------------------------------------------------
> > ---------
> > >> >>> To unsubscribe, e-mail: [email protected]
> > >> >>> For additional commands, e-mail: [email protected]
> > >> >>>
> > >> >>>
> > >> >>>
> > >> >>
> > >> >>
> > >> >
> > >>
> > >>
> > >> --
> > >> Cheers
> > >> Tibor
> > >>
> > > --
> > > Sent from my phone
> > >
> >
>
>
>
> --
> Cheers
> Tibor
>

Reply via email to