2012-05-17 5 views
1

Я пытаюсь создать архетип из существующего проекта maven maven. Для этого я меняю каталог на корневой каталог (где находится корень pom.xml) и выдает «mvn archetype: create-from-project». Строить не заканчивается, и я получаю следующее сообщение об ошибке:Невозможно создать архетип из существующего проекта maven

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2.2:create-from-project (default-cli) on project siaci-d: charsetName -> [Help 1] 

Запуск снова с -e и -X флагов можно увидеть следующую трассировку стека:

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 siaci-d: charsetName 
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213) 
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:84) 
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) 
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
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:101) 
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 
... 19 more 

Я проверил maven- archetype-plugin и не нашел ссылки на атрибут charsetName. Итак, я немного потерял о том, как это исправить. Я использую maven 3.0.4 с java 1.6.0_25 в поле Ubuntu. Любой совет?

У вас есть идеи о том, что здесь происходит неправильно?

+0

Установили кодировку источника и т. Д. В вашем проекте? – khmarbaise

+0

Да. Я установил кодировку в ISO-8859-1. Я пробовал два способа сделать это: тег в конфигурации плагина компилятора maven и свойство . Никто из них не работал для меня ... –

ответ

4

Вы отправили этот вопрос некоторое время назад, однако этот ответ может помочь другим.

У меня была такая же проблема в проекте. Эта ошибка возникает, когда у вас есть файл в вашем проекте, содержащий символы в другом encondig. Решением этой проблемы является замена этих символов   - если их немного, сгенерируйте архетип, верните символы в исходное и, наконец, измените право в соответствии с файлом метаданных архетипа.

Другой вариант заключается в изменении enconding по умолчанию UTF-8 в поколение архетип, как это:

mvn archetype:create-from-project -Darchetype.properties=../archetype.properties 

Для получения дополнительной информации, следить за этим ведет:

1

Я имел дело с та же ошибка, то я узнал, что Мессинг создание архетип ... Во-первых, я выбрал кодировку ISO-8859-1, вставляя свойства ниже на 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> 

Затем я вставил архетип-плагин со всей ниже конфигурацией в разделе сборки pom.xml:

<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> 

Поступая таким образом, вы должны предоставить всю конфигурацию поколения архетипа в собственном pom.xml вместо того, чтобы писать файл свойств (archetype.properties), чтобы объявить эту конфигурацию.

И, наконец, я побежал Maven с mvn clean install затем mvn archetype:create-from-project -e -X

Тем не менее, вы можете заметить некоторые ошибки кодирования, как один сообщались в этом посте, даже если вы обновили свой pom.xml, как показаны выше .. Если у вас по-прежнему такая же ошибка после установки правильной кодировки для вашего проекта, попробуйте выяснить, какой файл проекта по-прежнему содержит недопустимые символы. Чтобы найти файл с нарушением правил, вы должны наблюдать линии отладки, которые Maven показывает на консоли, как этот: "[DEBUG] InputFileName:src\main\resources\META-INF\persistence.xml" и проверить, какие файлы проекта были записаны в папку ${basedir}\target\generated-sources\archetype\src\main\resources\archetype-resources. Когда ошибки кодирования возникают во время создания архетипа, вышеупомянутая папка не соответствует исходному содержимому проекта, и это происходит из-за того, что Maven не удалось скопировать некоторые ресурсы из-за недействительных или несовместимых символов, которые не содержатся в указанном символе charset.

Смежные вопросы