Maven联网问题以及自动部署web工程

关于联网问题

  • Maven的核心程序仅仅定义了抽象的生命周期,但是具体的工作必须由特定的插件来完成。而插件本身并不包含在Maven的核心程序中。
  • 当我们执行的Maven命令需要用到某些插件时,Maven核心程序会首先到本地仓库中去查找。
  • 本地仓库的默认位置:[系统中当前用户的家目录]\.m2\repository
    • 系统中当前用户的家目录:C:\Users\Eric Jin
  • Maven核心程序如果在本地仓库中找不到需要的插件,那么它会自动连接外网,到中央仓库下载。
  • 如果此时无法连接外网,则构建失败
  • 如果确实无法联网,可以事先把插件准备好,然后将本地仓库的地址修改到下载好插件的目录
    • 修改本地仓库的位置
      • 找到Maven解压目录\conf\settings.xml
      • settings.xml中找到localRepository标签
      • 将<localRepository>/path/to/local/repo</localRepository>从注释中拎出来
      • 将标签体的内容修改为已经准备好的Maven仓库目录

 Maven自动部署web工程

使用mvn deploy即可自动部署,但是首先要在pom.xml中进行配置

<!-- 配置当前工程构建过程中的特殊设置 -->
    <build>
        <finalName>AtguiguWeb</finalName>
        
        <!-- 配置构建过程中需要使用的插件 -->
        <plugins>
            <plugin>
                <!-- cargo是一家专门从事“启动Servlet容器”的组织 -->
                <groupId>org.codehaus.cargo</groupId>
                <artifactId>cargo-maven2-plugin</artifactId>
                <version>1.2.3</version>
                
                <!-- 针对插件进行的配置 -->
                <configuration>
                    <!-- 配置当前系统中容器的位置 -->
                    <container>
                        <containerId>tomcat6x</containerId>
                        <home>D:\DevInstall\apache-tomcat-6.0.39</home>
                    </container>
                    <configuration>
                        <type>existing</type>
                        <home>D:\DevInstall\apache-tomcat-6.0.39</home>
                        <!-- 如果Tomcat端口为默认值8080则不必设置该属性 -->
                        <!-- <properties>
                            <cargo.servlet.port>8989</cargo.servlet.port>
                        </properties> -->
                    </configuration>
                </configuration>
                
                <!-- 配置插件在什么情况下执行 -->
                <executions>
                    <execution>
                        <id>cargo-run</id>
                        
                        <!-- 生命周期的阶段 -->
                        <phase>install</phase>
                        <goals>
                            <!-- 插件的目标 -->
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
View Code

Maven酷站

可以到http://mvnrepository.com/搜索需要的jar包的依赖信息

 
 
 
 

 

posted @ 2018-09-04 22:10  Jin同学  阅读(678)  评论(0)    收藏  举报