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>
Maven酷站
可以到http://mvnrepository.com/搜索需要的jar包的依赖信息