mvn package 出错 pom.xml and web.xml configuration

【问题描述】:
[ERROR] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war
 (default-war) on project myApp: Error assembling WAR: webxml attribute is requi
red (or pre-existing WEB-INF/web.xml if executing in update mode) -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[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

【解决方法】:
把 web.xml 放进 WEB-INF下面,我原来 放在 src\main\webapp 是失败的 一直没搞懂  网上都说是Web的maven项目默认的webroot是在src\main\webapp。如果在此目录下找不到web.xml就抛出以上的异常
排除 maven-war-plugin:版本 不一样的问题,网上很多是 2.1  ...

排除pom.xml 文件配置出错问题,排除web.xml 文件配置出错问题 因为我在机房测试都没有问题。


在搭建骨架时 需要的web.xml 的基本配置

web.xml 配置 【在struts2 里面】
    (path:J:\Java\Experience\JAR\lib\struts-2.3.28\src\apps\blank\src\main\webapp\WEB-INF)

    //下面是配置好的  直接 copy 到 web.xml里面就可以用了
    {
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
   <display-name>Struts Blank</display-name>//这儿没有修改名字,是struts2 里面的 修改的,注:方法    
</web-app>
    }

配置 pom.xml 文件

修改好的 pom.xml   直接 copy 到 pom.xml里面就可以用了
  {
  <?xml version="1.0" encoding="UTF-8"?>
<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/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <!-- 常量的配置 ,编码格式配置 -->
   <properties>
       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>
   
   <!--groupId指的是项目名的项目组,默认就是包名-->
<groupId>com.sho.maven.demo</groupId>


   <!--artifactId指的是项目中的某一个模块,默认命名方式是"项目名-模块名"-->
   <artifactId>myApp</artifactId>
   <packaging>war</packaging>
   <!-- 项目名字 -->
   <name>myApp</name> 


   <!--version指的是版本,这里使用的是Maven的快照版本-->
   <version>SNAPSHOT-0.0.1</version>


</project>


  }


settings.xml 配置  直接 copy 到 settings.xml 里面就可以用了

{
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
           http://maven.apache.org/xsd/settings-1.0.0.xsd">
   <localRepository>我们要迁移的仓库位置 path 到 repository  斜杠需要修改 成  / </localRepository>


</settings>

}

-----------------------

<!--所有的Maven项目都必须配置这四个配置项-->
    <modelVersion>4.0.0</modelVersion>
    <!--groupId指的是项目名的项目组,默认就是包名-->
    <groupId>cn.gacl.maven.hello</groupId>
    <!--artifactId指的是项目中的某一个模块,默认命名方式是"项目名-模块名"-->
    <artifactId>hello-first</artifactId>
    <!--version指的是版本,这里使用的是Maven的快照版本-->
    <version>SNAPSHOT-0.0.1</version>

你可能感兴趣的:(配置,settings.xml,maven配置,package,mvn,web.xml配置,错误解决方法,pom.xml配置)