2016-07-27 6 views
0

Я в процессе развертывания моего проекта eclipse с использованием Heroku. Однако, когда я пытаюсь запустить проект как сборку maven, я получаю сообщение об ошибке. Я везде искал, но не мог найти решение. Это ошибка, которую я получаю.Ошибка сборки WAR eclipse

BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 2.497 s 
[INFO] Finished at: 2016-07-27T15:12:17-04:00 
[INFO] Final Memory: 20M/274M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project maven-demo: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project maven-demo: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) 
    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.MojoExecutor.executeForkedExecutions(MojoExecutor.java:352) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:197) 
    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:128) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:199) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    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.MojoExecutionException: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) 
    at org.apache.maven.plugin.war.WarMojo.execute(WarMojo.java:193) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207) 
    ... 24 more 
Caused by: org.codehaus.plexus.archiver.ArchiverException: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) 
    at org.codehaus.plexus.archiver.war.WarArchiver.initZipOutputStream(WarArchiver.java:148) 
    at org.codehaus.plexus.archiver.zip.AbstractZipArchiver.createArchiveMain(AbstractZipArchiver.java:309) 
    at org.codehaus.plexus.archiver.zip.AbstractZipArchiver.execute(AbstractZipArchiver.java:211) 
    at org.codehaus.plexus.archiver.AbstractArchiver.createArchive(AbstractArchiver.java:897) 
    at org.apache.maven.archiver.MavenArchiver.createArchive(MavenArchiver.java:582) 
    at org.apache.maven.plugin.war.WarMojo.performPackaging(WarMojo.java:243) 
    at org.apache.maven.plugin.war.WarMojo.execute(WarMojo.java:177) 
    ... 26 more 
[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

это мой pom.xml файл

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.codebind</groupId> 
    <artifactId>maven-demo</artifactId> 
    <packaging>war</packaging> 
    <version>0.0.1-SNAPSHOT</version> 
    <dependencies> 
    <dependency> 
    <groupId>com.twilio.sdk</groupId> 
    <artifactId>twilio-java-sdk</artifactId> 
    <version>(6.0,6.9)</version> 
    </dependency> 
    <dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>servlet-api</artifactId> 
    <version>2.4</version> 

</dependency> 
</dependencies> 

<build> 

    <plugins> 
     <plugin> 
     <groupId>com.heroku.sdk</groupId> 
     <artifactId>heroku-maven-plugin</artifactId> 
     <version>1.0.3</version> 
     <configuration> 
    <appName>com.codebind</appName> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.3</version> 
    <failOnMissingWebXml>false</failOnMissingWebXml> 
    <!-- <webXml>src\main\webapps\WEB-INF\web.xml</webXml> --> 
    <processTypes> 
    <web>java $JAVA_OPTS -cp target/classes:target/dependency/* Main</web> 
    </processTypes> 

</configuration> 
     </plugin> 
    </plugins> 
    </build> 

</project> 

Спасибо заранее появляется

ответ

0

Ваш heroku-maven-plugin конфигурации плагина для смешивания с maven-war-plugin. Несмотря на то, что в корневой части раздела heroku-maven-plugin, конфигурация содержит ссылку на maven-war-plugin, а не на плагин maven-war в корневой части раздела.

Maven не может видеть ссылку на плагин maven-war, где он есть, поэтому Maven продолжает использовать собственную ссылку на maven-war-plugin (через Maven's 'super pom) для создания/упаковки войны. .. и , что плагин - это то, что бросает ошибку.

Если вы хотите переконфигурировать плагин maven-war, чтобы он не сработал, если файл web.xml не найден, вам нужно переместить <maven-war-plugin> в ваш POM, где он не вложен в плагин heroku-maven и переместите <failOnMissingWebXml>false</failOnMissingWebXml> в элемент <configuration> maven-war-plugin.

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <configuration> 
     <failOnMissingWebXml>false</failOnMissingWebXml> 
    </configuration> 
</plugin> 
<plugin> 
    <groupId>com.heroku.sdk</groupId> 
    <artifactId>heroku-maven-plugin</artifactId> 
    <configuration> 
    ... 
    </configuration> 
</plugin> 
+0

Это работало! Спасибо огромное! – srsxyz

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