You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Kenan Sevindik <ks...@gmail.com> on 2005/07/09 15:58:41 UTC
Maven 2 Ant Tasks doesn't work in Turkish Locale
I wanted to use your Maven 2 Ant Dependencies Task, and created follwing ant
build.xml file for a quick startup.
<project name="test" default="test-maven-dependencies" basedir="."
xmlns:artifact="urn:maven-artifact-ant">
<property environment="env"/>
<typedef resource="org/apache/maven/artifact/ant/antlib.xml"
uri="urn:maven-artifact-ant">
<classpath location="${env.ANT_HOME}/opt/maven-
artifact-ant-2.0-alpha-3-dep.jar"/>
</typedef>
<artifact:dependencies pathId="dependency.classpath" fileSetId="
dependency.fileset">
<dependency groupId="org.apache.maven.wagon"
artifactId="wagon-provider-test"
version="1.0-alpha-2"/>
<dependency groupId="org.codehaus.modello" artifactId="modello-core"
version="1.0-alpha-2-SNAPSHOT"/>
<dependency groupId="javax.servlet" artifactId="servlet-api"
version="2.4" scope="provided" />
</artifact:dependencies>
<target name="test-maven-dependencies" description="">
<copy todir="d:/temp" flatten="true">
<fileset refid="dependency.fileset"/>
</copy>
</target>
</project>
When I run above build.xml with ant in verbose mode, I got following
exception;
BUILD FAILED
D:\work\tools\build.xml:10: Unable to start embedder
at org.apache.maven.artifact.ant.AbstractArtifactTask.getEmbedder(
AbstractArtifactTask.java:270)
at org.apache.maven.artifact.ant.AbstractArtifactTask.lookup(
AbstractArtifactTask.java:242)
at
org.apache.maven.artifact.ant.AbstractArtifactTask.createLocalArtifactRepository
(AbstractArtifactTask.java:78)
at org.apache.maven.artifact.ant.DependenciesTask.execute(
DependenciesTask.java:61)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
at org.apache.tools.ant.Task.perform(Task.java:364)
at org.apache.tools.ant.Target.execute(Target.java:341)
at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:133)
at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java
:91)
at org.apache.tools.ant.Main.runBuild(Main.java:658)
at org.apache.tools.ant.Main.startAnt(Main.java:188)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
Caused by: org.codehaus.plexus.PlexusContainerException: Error configuring
components
at org.codehaus.plexus.DefaultPlexusContainer.initialize(
DefaultPlexusContainer.java:633)
at org.codehaus.plexus.embed.Embedder.start(Embedder.java:204)
at org.codehaus.plexus.embed.Embedder.start(Embedder.java:171)
at org.apache.maven.artifact.ant.AbstractArtifactTask.getEmbedder(
AbstractArtifactTask.java:266)
... 12 more
Caused by:
org.codehaus.plexus.component.configurator.ComponentConfigurationException:
Error configuring component: role: 'lifecycle-handler-manager',
implementation: '
org.codehaus.plexus.lifecycle.DefaultLifecycleHandlerManager'
at
org.codehaus.plexus.DefaultPlexusContainer.processCoreComponentConfiguration
(DefaultPlexusContainer.java:1254)
at org.codehaus.plexus.DefaultPlexusContainer.initializeCoreComponents(
DefaultPlexusContainer.java:1177)
at org.codehaus.plexus.DefaultPlexusContainer.initialize(
DefaultPlexusContainer.java:609)
... 15 more
Caused by:
org.codehaus.plexus.component.configurator.ComponentConfigurationException:
Class 'org.codehaus.plexus.lifecycle.DefaultLifecycleHandlerManager' does
not contain a field named 'defaultLifecycleHandlerÄ°d'
at
org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter.getFieldByName
(ObjectWithFieldsConverter.java:176)
at
org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter.processConfiguration
(ObjectWithFieldsConverter.java:112)
at
org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter.fromConfiguration
(ObjectWithFieldsConverter.java:85)
at
org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter.processConfiguration
(ObjectWithFieldsConverter.java:118)
at
org.codehaus.plexus.component.configurator.BasicComponentConfigurator.configureComponent
(BasicComponentConfigurator.java:52)
at
org.codehaus.plexus.component.configurator.AbstractComponentConfigurator.configureComponent
(AbstractComponentConfigurator.java:46)
at
org.codehaus.plexus.DefaultPlexusContainer.processCoreComponentConfiguration
(DefaultPlexusContainer.java:1248)
... 17 more
--- Nested Exception ---
org.codehaus.plexus.PlexusContainerException: Error configuring components
at org.codehaus.plexus.DefaultPlexusContainer.initialize(
DefaultPlexusContainer.java:633)
at org.codehaus.plexus.embed.Embedder.start(Embedder.java:204)
at org.codehaus.plexus.embed.Embedder.start(Embedder.java:171)
at org.apache.maven.artifact.ant.AbstractArtifactTask.getEmbedder(
AbstractArtifactTask.java:266)
at org.apache.maven.artifact.ant.AbstractArtifactTask.lookup(
AbstractArtifactTask.java:242)
at
org.apache.maven.artifact.ant.AbstractArtifactTask.createLocalArtifactRepository
(AbstractArtifactTask.java:78)
at org.apache.maven.artifact.ant.DependenciesTask.execute(
DependenciesTask.java:61)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
at org.apache.tools.ant.Task.perform(Task.java:364)
at org.apache.tools.ant.Target.execute(Target.java:341)
at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:133)
at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java
:91)
at org.apache.tools.ant.Main.runBuild(Main.java:658)
at org.apache.tools.ant.Main.startAnt(Main.java:188)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
Caused by:
org.codehaus.plexus.component.configurator.ComponentConfigurationException:
Error configuring component: role: 'lifecycle-handler-manager',
implementation: '
org.codehaus.plexus.lifecycle.DefaultLifecycleHandlerManager'
at
org.codehaus.plexus.DefaultPlexusContainer.processCoreComponentConfiguration
(DefaultPlexusContainer.java:1254)
at org.codehaus.plexus.DefaultPlexusContainer.initializeCoreComponents(
DefaultPlexusContainer.java:1177)
at org.codehaus.plexus.DefaultPlexusContainer.initialize(
DefaultPlexusContainer.java:609)
... 15 more
Caused by:
org.codehaus.plexus.component.configurator.ComponentConfigurationException:
Class 'org.codehaus.plexus.lifecycle.DefaultLifecycleHandlerManager' does
not contain a field named 'defaultLifecycleHandlerÄ°d'
at
org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter.getFieldByName
(ObjectWithFieldsConverter.java:176)
at
org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter.processConfiguration
(ObjectWithFieldsConverter.java:112)
at
org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter.fromConfiguration
(ObjectWithFieldsConverter.java:85)
at
org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter.processConfiguration
(ObjectWithFieldsConverter.java:118)
at
org.codehaus.plexus.component.configurator.BasicComponentConfigurator.configureComponent
(BasicComponentConfigurator.java:52)
at
org.codehaus.plexus.component.configurator.AbstractComponentConfigurator.configureComponent
(AbstractComponentConfigurator.java:46)
at
org.codehaus.plexus.DefaultPlexusContainer.processCoreComponentConfiguration
(DefaultPlexusContainer.java:1248)
... 17 more
Total time: 1 second
I tracked the problem down to the
org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter.getFieldByNamemethod.
I guess that problem occurs while plexus doing its own internal
initialization using plexus-bootstrap.xml file. It wants to get class field
"defaultLifecycleHandlerId" of class
org.codehaus.plexus.lifecycle.DefaultLifecycleHandlerManager using
Reflection, but plexus tries to derive field name from
plexus-bootstrap.xmlfile with child xml element named
"default-lifecycle-handler-id" of parent
xml element named "lifecycle-handler-manager". Unfortunately
"default-lifecycle-handler-id" becomes "defaultLifecycleHandlerÄ°d" instead
of "defaultLifecycleHandlerId" because of Turkish Locale. In Turkish,
lowercase i is uppercase I with a dot above it!
I admit that this is a more general problem related with Plexus and Java
than Maven alone, but in the end we will not be able to run Maven in Turkish
environments, so I decided to report this problem to the Maven team.
Problems similar to above could easily be solved with providing English
locale to String upper case/lowe case conversion methods explicitly, rather
than using defult ones in general.
Kind Regards.
PS: I also want to report a little typo in your ant Lib for Maven 2.0 page.
In installing ant tasks part using typedef
option, it is forgotten to type "urn" prefix in typedef declaration,
although it exists in project xmlns part.
--
Kenan Sevindik
http://jroller.com/page/ksevindik
Re: Maven 2 Ant Tasks doesn't work in Turkish Locale
Posted by Stefan Bodewig <bo...@apache.org>.
On Sat, 9 Jul 2005, Kenan Sevindik <ks...@gmail.com> wrote:
> I admit that this is a more general problem related with Plexus and
> Java than Maven alone, but in the end we will not be able to run
> Maven in Turkish environments,
Ant went through that a few years back when it claimed that <fileset>
wasn't supported on a Turkish locale.
> so I decided to report this problem to the Maven team. Problems
> similar to above could easily be solved with providing English
> locale to String upper case/lowe case conversion methods explicitly,
> rather than using defult ones in general.
Yep, that's what we did in Ant-land. All occurances of
toLower/toUpper explicitly request Locale.US.
Stefan
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org