Re: [mevenide-user] Issues with maven-surefire-plugin 2.4 and system properties
"Milos Kleint" <[email protected]>
| Newsgroups | gmane.comp.jakarta.turbine.maven.mevenide.user |
|---|---|
| Message-ID | <[email protected]> |
Well, it seems you test is forked but the system properties are copied over. A result of http://jira.codehaus.org/browse/SUREFIRE-121 fix. I'm going to reopen and add our case there.. Milos On Jan 16, 2008 10:16 PM, Andreas Loew <[email protected]> wrote: > Milos, All, > > it looks like the NetBeans Maven integration (for NB 5.5.1 as well as > for 6.0) has a serious issue with the newly released > maven-surefire-plugin 2.4 (released on Jan 15th, 2008). > > It looks like, although my tests are configured to use either > forkMode=once or forkMode=perTest, Mevenide and/or the > maven-surefire-plugin in 2.4 either do not fork or (most probably) start > these new JVMs by explicitly (and incorrectly) passing all the system > properties and property values of the currently running JVM (i.e. the > JVM running the Netbeans IDE). > > This means these system properties have "interesting" values when the > JUnit test code is running, like e.g.: > > javax.xml.parsers.DocumentBuilderFactory=org.netbeans.core.startup.DOMFactoryImpl > javax.xml.parsers.SAXParserFactory=org.netbeans.core.startup.SAXFactoryImpl > > As these NetBeans factory classes are not available from my project's > Meven test classpath, all my XML-related tests do now fail. > > In addition, I get a message about a missing Logger configuration class: > > Logging configuration class "org.netbeans.core.startup.TopLogging" failed > java.lang.ClassNotFoundException: org.netbeans.core.startup.TopLogging > > The announcement for maven-surefire-plugin 2.4: > > http://www.nabble.com/-ANN--Maven-Surefire-Plugin-2.4-for-Maven-2-Released-tt14853145s177.html#a14853145 > > says about this: > > "3) System properties [SUREFIRE-416]: Surefire allows you to configure > the system properties of the currently running test. By default, > Surefire will run tests in a separate process (forkMode=once); if > process forking is disabled (forkMode=never), Surefire will set the Java > system properties of the currently executing Maven process, and finally > change them back. This may have unanticipated side effects if you're > running Maven in embedded mode and process forking is disabled. > Embedders should not disable forking during Surefire testing. [Tests > themselves might do something even more dangerous, like calling > System.exit().]" > > Switching back to the previous version of the surefire plugin (2.3.1) > makes my tests work fine again: > > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-surefire-plugin</artifactId> > <version>2.3.1</version> > </plugin> > > Is this an issue with Mevenide or the new maven-surefire-plugin 2.4? > > Many thanks in advance for any insights! > > Best regards, > > Andreas > > -- > Andreas Loew > Java Architect > Sun Microsystems (Germany) > > > --------------------------------------------------------------------- > To unsubscribe from this list please visit: > > http://xircles.codehaus.org/manage_email > > --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email