tomcat部署war包

一、打包war包(javaweb工程)

1、编译maven工程的原理

     1.1、maven会默认编译src/main/java和src/test/java目录下的源码,在compile和test-compile阶段被编译,放到target/classes和target/test-classes目录下,这两个目录的其他文件会被忽略。

     1.2、src/main/resources和src/test/resources目录下的文件会默认复制到target/classes和target/test-classes中。

     1.3、web工程时,会在target目录下生成(工程名)目录,默认将src/main/webapp目录下的内容复制到target/(工程名)目录下;默认将taget/classes目录下的内容复制到target/(工程名)/WEB-INF/classes目录下。

    1.4、dependencys依赖会默认复制到target/(工程名)/WEB-INF/lib目录下。

各个插件的执行顺序一般是:1:clean、2:resources、3:compile、4:testResources、5:testCompile、6:test、7:jar、8:install

2、默认的maven工程目录                                   我的maven工程目录

tomcat部署war包_第1张图片                                 tomcat部署war包_第2张图片

3、如果创建的maven工程与默认路径格式不同,如何编译非默认目录下的源码

     3.1、编译非默认目录下的源码

  
    
    simple-webapp
    
    src/java
  

      或者指定多个默认目录


  
        
      
        org.codehaus.mojo
        build-helper-maven-plugin
        1.8
        
          
            add-source
            generate-sources
            
              add-source
            
            
              
                src/java/main
                src/java/generated
              
            
          
        
       
      

 

 3.2、复制非默认 目录下的配置文件(包括java和resources目录下)

    
      
        src/java
        
          **/*.xml
        
        true
      
      
        src/resources
        
          **/*
        
        true
      
    

   3.3、设置测试源码的默认目录

    src/test/java

    3.4、设置默认测试资源目录

    
      
        src/test/resources
      
    

4、思考为什么maven不能编译自定义目录,但是idea可以编码成功?

    在Project-Project Structure-Modules里将自定义目录设置成了Sources目录和Resources目录。

5、执行自定义webapp目录

 
   
      
        org.apache.maven.plugins
        maven-war-plugin
        2.1.1
        
          
            
              
              src/webapp
            
          
        
      
    
  

或者

      
      org.apache.maven.plugins
      maven-war-plugin
      2.1.1
      
        src\webapp\WEB-INF\web.xml
      
      

二、将war包放入tomcat下的webapp目录,访问路径:http://localhost:8080/war包名称/

 

你可能感兴趣的:(web)