`

Maven安装配置、基础命令及Maven+Tomcat+MavenPlugin热部署

 
阅读更多

 Maven与Ant比较

参见链接:http://www.cnblogs.com/itech/archive/2011/11/01/2231837.html 

 Maven的安装

下载地址:http://maven.apache.org/download.cgi

解压后配置环境变量M2_HOME和修改PATH



 

 配置完成后在命令行输入mvn -v,提示安装完成。

 

Maven的常用命令为

            mvn archetype:create :创建 Maven 项目

            mvn compile :编译源代码

            mvn test-compile :编译测试代码

            mvn test : 运行应用程序中的单元测试

            mvn site : 生成项目相关信息的网站

            mvn clean :清除目标目录中的生成结果

            mvn package : 依据项目生成 jar 文件

            mvn install :在本地 Repository 中安装 jar

            mvn deploy:将jar包发布到远程仓库

            mvn eclipse:eclipse :生成 Eclipse 项目文件

 

    使用命令新增MAVEN项目

           建一个 JAVA 项目 : mvn archetype:create -DgroupId=com.test -DartifactId=App -DpackageName=com.lwf.test

           建一个 web 项目 : mvn archetype:create -DgroupId=com.test -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp

     解释:

           archetype 是一个内建插件,它的create任务将建立项目骨架

           archetypeArtifactId 项目骨架的类型

           groupId 项目所在组织的名称标识

           artifactId项目的名称,生成的项目目录也是这个名字

           packagename项目初始创建的包名 

     可用项目骨架有:

           maven-archetype-archetype

           maven-archetype-j2ee-simple

           maven-archetype-mojo

           maven-archetype-portlet

           maven-archetype-profiles (currently under development)

           maven-archetype-quickstart

           maven-archetype-simple (currently under development)

           maven-archetype-site

           maven-archetype-site-simple

           maven-archetype-webapp

      web项目目录结构的布局:

           详见http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

      以上在命令行运行的命令均可以Eclipse中集成的插件中使用。

 

Eclipse中集成插件M2Eclipse 

参见:http://www.eclipse.org/m2e/

在eclipse中help打开Install new software,输入链接http://download.eclipse.org/technology/m2e/releases

搜索插件,安装完成即可。

一般插件安装完成后,eclipse会使用默认的maven版本,如下图的:3.0的版本,我自己下载的版本是3.3.9的,为统一版本使用,这里修改成自己下载的版本。



 

Eclipse下Maven的应用:

      Eclipse导入已存在的maven项目 :

            在导入之前需要在命令行找到项目根目录并在下面执行如下命令:

                  普通 Eclipse 项目执行 : mvn eclipse:eclipse Eclipse

                  web 项目执行 : mvn eclipse:eclipse –Dwtpversion=1.0

            如从网上下载的开源项目,直接在pom.xml所在目录执行命令mvn eclipse:eclipse完成后会生成eclipse项目的.project和.classpath文件,然后通过Eclipse的maven插件中选择导入已存在的maven项目即可将其导入。

 

在eclipse下新建maven web项目

eclipse下new project找到maven,选择Maven Project 在弹出窗口输入web过滤一下,选择maven-archetype-webapp (跟命令行下其实是一样的Artifaceid),选择后输入groupid和Artifaceid即可。Artifaceid即为项目名称,package输入war,完成即可。

 

Maven+Tomcat+MavenPlugin热部署

Maven项目与之前的项目不同,不能直接在eclipse集成的tomcat环境下部署。不过可以通过tomcat-maven-plugin实现热部署。

方法如下:

1、下载JDK及Eclipse安装,方法略;JDK版本1.7

2、为eclipse集成插件M2Eclipse ,参见上面的Eclipse中集成插件M2Eclipse ,这里我使用的是自己下载的maven3.3.9的版本

3、eclipse中配置tomcat server,tomcat版本可使用6.0或7.0

4、在eclipse下新建maven web项目,如我的项目名称为lwfweb,项目新建完成后修改JRE Library为1.7

这里有些项目在eclipse中运行maven build的时候会报错,错误如下:

-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.

 此时要修改一下Eclipse中jdk的vm arguments值为:

-Dmaven.multiModuleProjectDirectory=$M2_HOME

 如下图所示:



 

 

5、配置tomcat管理用户及权限:

Tomcat conf 下的tomcat-users.xml 增加以下内容:

<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="pwd" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-script,admin-gui"/>

 配置完成后,在eclipse下运行配置好的tomcat,并访问http://localhost:8080并通过admin和pwd访问管理tomcat应用。

6、修改maven配置文件,关联tomcat

如我的maven目录D:\Java\apache-maven-3.3.9\conf,在下面找到settings.xml,打开设置servers如下:

 
 <servers>
   	 <server>
      <id>tomcat</id>
      <username>admin</username>
      <password>pwd</password>
    </server>
  </servers>

 7、修改项目lwfweb的pom.xml,如下:



 

    主要就是在pom文件的build下增加plugins节点内容:

<plugins>
    	<plugin>
    		<groupId>org.codehaus.mojo</groupId>
    		<artifactId>tomcat-maven-plugin</artifactId>
    		<version>1.1</version>
    		<configuration> 
				<server>tomcat</server>
				<!-- url tomcat6使用 -->
				<url>http://localhost:8080/manager</url> 
				<!-- url tomcat7使用 -->
				<!-- <url>http://localhost:8080/manager/text</url> --> 
		        <path>/lwfweb</path>
			</configuration>
    	</plugin>
    </plugins>

 这里面尤其要注意是的针对tomcat6和tomcat7两个版本url内容不一样。这里如果配置错误会导致以下错误:

[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:redeploy (default-cli) on project lwfweb: Cannot invoke Tomcat manager: Server returned HTTP response code: 401 for URL: http://localhost:8080/manager/html/deploy?path=%2Flwfweb&war=&update=true -> [Help 1]

 

server要与maven的setting.xml中的server id一致。

8、eclipse项目下部署:

在项目下右键菜单,Run as选择Run configuration,在golas中输入:package tomcat:redeploy

(如果想调试的话则在项目下右键菜单,Debug as选择Debug configuration,在golas中输入:package tomcat:redeploy,设置断点,即可进入调试模式)

注:在运行的时候tomcat一定是启动的,否则报错如下:

[ERROR] Failed to execute goal org.codehaus.mojo:tomcat-maven-plugin:1.1:redeploy (default-cli) on project lwfweb: Cannot invoke Tomcat manager: Connection refused: connect -> [Help 1]

 



 运行后看到build success即表示部署成功

上图可选项可以试着用用,如Skip Tests忽略测试用例,Debug output详细调试日志输出等



 此时tomcat目录可看到项目



 在浏览器输入:http://localhost:8080/lwfweb/ 可看到内容

 

有的eclipse集成tomcat 的时候需要修改一下server location和webapps的配置,如下图:



 

注:在Eclipse中配置Tomcat服务器,然后在这里重启tomcat服务时,我发现在tomcat的conf目录下tomcat-users.xml文件会自动还原。比如我们之前配置了用户和密码的,重启后居然回到未修改前的内容。这是因为我们在eclipse中配置了server下的tomcat-user.xml文件未修改导致,所以如果是在eclipse下启动tomcat的话,应修改eclipse中配置server对应的tomcat-user.xml文件内容。如下图:



 

补充下maven tomcat插件其他命令

命令 描述
tomcat:deploy 部署一个web war包
tomcat:reload 重新加载web war包

tomcat:start

启动tomcat

tomcat:stop

停止tomcat

tomcat:undeploy

停止一个war包
tomcat:run 启动嵌入式tomcat ,并运行当前项目

 

补充:Maven中央仓库:

http://search.maven.org/

http://maven.outofmemory.cn/javax.mail/mail/1.4.3/

 

项目pom文件的包版本修改:

项目中比如junit默认版本为3.8.1,可从Maven中央仓库http://search.maven.org/搜索junit发现有新版本,如4.11,可将项目的pom文件版本修改为4.11,eclipse会自动从中央仓库下载4.11版本。



 

有关MAVEN仓库的理解参见:http://blog.csdn.net/wanghantong/article/details/36427433

  • 大小: 9 KB
  • 大小: 9.9 KB
  • 大小: 110.3 KB
  • 大小: 33 KB
  • 大小: 146.3 KB
  • 大小: 70.1 KB
  • 大小: 105.7 KB
  • 大小: 35.6 KB
  • 大小: 82.5 KB
  • 大小: 34.8 KB
  • 大小: 26.3 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics