2016-06-24 2 views
1

Wenn ich versuche, den Befehl mvn archetype:create-from-project für mein WAR-Projekt auszuführen, diese Ausnahme nach dem Lesen einer .java-Datei zeigt sich:MojoFailureException verursacht durch charsetName auf Maven Urform

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2.2:create-from-project (default-cli) on project ConfiguradorWAR: charsetName -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2.2:create-from-project (default-cli) on project ConfiguradorWAR: charset 
Name 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) 
     at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) 
     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584) 
     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:160) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 
Caused by: org.apache.maven.plugin.MojoFailureException: charsetName 
     at org.apache.maven.archetype.mojos.CreateArchetypeFromProjectMojo.execute(CreateArchetypeFromProjectMojo.java:285) 
     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) 
     ... 19 more 

Das Standardprojekt kodieren ist Cp1252, habe ich bereits versucht UTF-8 und ISO-8859-1, auch die Codierung Option aus dem Projekt und Eclipse-Einstellungen bearbeitet. Auf pom.xml:

<properties> 
     <project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding> 
     <project.resources.sourceEncoding>${project.build.sourceEncoding}</project.resources.sourceEncoding> 
</properties> 

und

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-archetype-plugin</artifactId> 
    <version>2.2</version> 
    <configuration> 
     <defaultEncoding>${project.build.sourceEncoding}</defaultEncoding> 
     <encoding>${project.build.sourceEncoding}</encoding> 
     <archetypeArtifactId>archetype-wsjpa</archetypeArtifactId> 
         <archetypeGroupId>br.com.example</archetypeGroupId> 
         <archetypeVersion>1.0</archetypeVersion>        <archetypeFilteredExtentions>java,xml</archetypeFilteredExtentions> 
    </configuration> 
</plugin> 
<plugin> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.1</version> 
    <configuration> 
     <encoding>${project.build.sourceEncoding}</encoding> 
    </configuration> 
</plugin> 

Der beste Rat, den ich von meinen Mitarbeitern erhielt, war versuchen, alle Zeichen in dem gesamten Projekt mit Akzente zu ersetzen. Ich habe ein EJB-Projekt mit Cp1252 kodieren als Standard, das beim ersten Versuch arbeitete. Vielen Dank im Voraus und Entschuldigung für mein schlechtes Englisch.

Antwort

1

Nach ausgiebiger Übung alle möglichen Parameter für die Befehlszeile habe ich die richtige gefunden.

Sie sollten Ihr Urbild wie folgt erstellen:

mvn archetype:create-from-project -Darchetype.encoding=ISO-8859-1 

Wie man auf Maven Archetype Plugin Docs sehen können Sie den „User-Eigenschaft archetype.encoding“ verwenden sollten.

Jeder andere Parametername schlägt fehl.

Es funktionierte für mich!

0
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding> 
    <project.resources.sourceEncoding>${project.build.sourceEncoding}</project.resources.sourceEncoding> 

Ich musste das obige hinzufügen. Außerdem habe ich mvn clean ausgeführt, bevor ich mvn archetype gestartet habe: create-from-project

Verwandte Themen