Using selenium-maven-plugin sets "javax.xml.transform.TransformerFactory" Java 
System property to "net.sf.saxon.TransformerFactoryImpl"

-----------------------------------------------------------------------------------------------------------------------------------------

                 Key: MSELENIUM-64
                 URL: http://jira.codehaus.org/browse/MSELENIUM-64
             Project: Maven 2.x Selenium Plugin
          Issue Type: Bug
          Components: start-server
         Environment: Windows 7, Java 6, 32bit JVM, Maven 2.2.x
            Reporter: Karl M. Davis
            Priority: Critical


Using the {{selenium-maven-plugin}}'s {{start-server}} and {{stop-server}} 
goals "pollutes" the Java system properties used by other Maven plugins. 
Specifically, the {{javax.xml.transform.TransformerFactory}} property is set to 
"{{net.sf.saxon.TransformerFactoryImpl}}".

This is bad because other Maven plugins that try to call 
{{javax.xml.transform.TransformerFactory.newInstance()}} will fail, unless they 
also happen to have Saxon 8/9 as dependencies. In my case, I'm trying to run 
the {{docbkx-tools}} plugin, which is failing with the following error:
{code}
javax.xml.transform.TransformerFactoryConfigurationError: Provider 
net.sf.saxon.TransformerFactoryImpl not found
        at 
javax.xml.transform.TransformerFactory.newInstance(TransformerFactory.java:108)
        at 
com.agilejava.docbkx.maven.AbstractPdfMojo.postProcessResult(AbstractPdfMojo.java:95)
        at 
com.agilejava.docbkx.maven.AbstractTransformerMojo.execute(AbstractTransformerMojo.java:159)
        at 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
        ...
{code}

I don't know if this is a problem with {{selenium-maven-plugin}} itself, or one 
of its dependencies. Either way, it seems like it would be 
{{selenium-maven-plugin}}'s responsibility to "play nice" with other plugins 
and prevent it from happening. I can think of a couple of possible solutions:
# Fork: Start the Selenium server in a separate process.
# Cleanup: Cache the value (or absence) of the 
{{javax.xml.transform.TransformerFactory}} property at the start of the plugin 
and restore/remove the property at the end of the plugin.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to