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