`
猿丁解码
  • 浏览: 60881 次
社区版块
存档分类
最新评论

Maven入门示例(3):自动部署至外部Tomcat

阅读更多



 Maven
入门示例(3):自动部署至外部Tomcat

         上一篇,介绍了如何创建Maven项目以及如何在内嵌的Tomcat中部署测试Web应用,本篇主要介绍如何将开发的应用程序自动部署至外部Tomcat。本例中使用的Tomcat版本为Tomcat 7

 

1、  安装Tomcat 7

1)  Tomcat 7的安装包解压至C:\opensource,并将文件夹重命名为tomcat-7.0.34,得到的目录结构如下



 

 

 

2)  新建系统变量CATALINA_HOME,值为:C:\opensource\tomcat-7.0.34

 

3)  在系统变量  Path的最后面添加%CATALINA_HOME%\lib; %CATALINA_HOME%\lib\servlet-api.jar;%CATALINA_HOME%\lib\jsp-api.jar   注意它们之间的分号,一定是英文的分号。

 

4)  Tomcat 7.0的管理员的配置,进入C:\opensource\tomcat-7.0.34Tomcat目录)下的conf目录,编辑tomcat-users.xml,找到最后的:

<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>

 -->

在上面这段后面  添加上:

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="admin" roles="manager-gui,manager-script"/>
   
红色为添加部分。从中可以看出管理员的用户名和密码!

 

5)  进入Tomcat 目录下的bin目录,双击startup.bat   启动Tomcat  在命令行窗口会出来英文提示。

 

6)  浏览器输入:http://localhost:8080  可以看到Tomcat的欢迎页面就说明配置成功了,点击右上角上manager连接,输入上面配置的用户名和密码,就可以进入管理页面。

 

 

补充: 使用外部的tomcat7 需要使用 tomcat-maven-plugin 的新版本,版本支持tomcat6tomcat7groupId也已经由之前的org.codehaus.mojo改为org.apache.tomcat.maven  可以参考:MavenTomcat插件地址为,http://tomcat.apache.org/maven-plugin.html。无需手动下载,按照本文配置,MyEclipse会自动下载到相应的tomcat-maven-plugin插件

 

2、修改项目的pom.xml  

 

1)在projectbuild节点下 添加tomcat-maven-plugin插件信息,如下写法添加了tomcat6tomcat7的插件,如只用1种可以只写一个

    <plugins> 

        <plugin> 

            <groupId>org.apache.tomcat.maven</groupId> 

            <artifactId>tomcat6-maven-plugin</artifactId> 

            <version>2.0-SNAPSHOT</version>      

            <configuration> 

              <url>http://localhost:8080/manager/html</url>  

              <server>tomcat</server> 

            </configuration>        

        </plugin> 

        <plugin> 

            <groupId>org.apache.tomcat.maven</groupId> 

            <artifactId>tomcat7-maven-plugin</artifactId> 

            <version>2.0-SNAPSHOT</version> 

            <configuration> 

                <url>http://localhost:8080/manager/text</url>  

                <server>tomcat7</server>

                                     <username>admin</username>

<password>admin</password>  

            </configuration> 

        </plugin> 

</plugins> 

--2.0-SNAPSHOT版本已经release

 

2)  project节点下,在插件仓库(plugin repositories)和普通仓库(repositories)中添加以下仓库到pom.xml,保证maven可以从仓库中下载到tomcat-maven-plugin插件,少添加了这段信息,会出现如下报错信息:

No plugin found for prefix 'tomcat' in the current project and in the plug

<repositories>

<repository> 

    <id>people.apache.snapshots</id> 

    <url> 

        http://repository.apache.org/content/groups/snapshots-group/ 

    </url> 

    <releases> 

        <enabled>false</enabled> 

    </releases> 

    <snapshots> 

        <enabled>true</enabled> 

    </snapshots> 

</repository> 

</repositories>

 

<pluginRepositories>

<pluginRepository> 

    <id>apache.snapshots</id> 

    <name>Apache Snapshots</name> 

    <url> 

        http://repository.apache.org/content/groups/snapshots-group/ 

    </url> 

    <releases> 

        <enabled>false</enabled> 

    </releases> 

    <snapshots> 

        <enabled>true</enabled> 

    </snapshots> 

</pluginRepository>

</pluginRepositories>

 

3.配置setting.xml

 

1)修改%MAVEN_HOME%\conf\setting.xml(前提是在myeclipse preferencesmaven启用本地安装版本并设置用户setting.xml为本地conf下的setting.xml)

 

<servers>标签中加入

<server> 

       <id>tomcat7</id> 

       <username>admin</username> 

       <password>admin</password> 

</server> 

注意这里用户名、密码必须为manager-gui角色的用户,这里设置需要与之前tomcat配置时的角色分配对应起来。

 

4.启动tomcat

 

 

运行请先启动tomcat,在maven buildgoals中输入命令tomcat7:deploy即可发布,或在Run Configurations->Maven build新建一个命令,base directory里选择你的web project,在Goals栏可填写你所需要的命令,点击Run或者Debug后,MyEclipse会自动下载所需的插件并在Console启动Tomcat

 

 

 



 

 

 

                 

5、测试

 

打开浏览器,输入http://localhost:8080/helloworld,即可见到发布的Helloworld页面。同时,你也可以在C:\tomcat-7.0.34\webapps看到helloworld工程和helloworld.war包了。

 

 如果点击run后,Console报错,请参见下一篇错误排除

  • 大小: 33.1 KB
  • 大小: 86.2 KB
  • 大小: 32.2 KB
  • 大小: 19.6 KB
分享到:
评论
4 楼 anewmana 2017-02-22  
No plugin found for prefix 'tomcat7' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (D:\Java\apache-maven-3.2.1\repository), apache.snapshots (http://repository.apache.org/content/groups/snapshots-group/), alimaven (http://maven.aliyun.com/nexus/content/repositories/central/)] -> [Help 1]

我的出现了这个问题,有人知道原因么
3 楼 xiaonian1986 2015-12-09  
终于成功了,多谢啊,试了很久的东西了 ,用的 eclipse3.7+tomcat7+maven3.0.5
2 楼 HelloWorld90 2015-03-24  
HelloWorld90 写道
传统的方法,我们需要先去下载一个tomcat到本地,然后将项目发布到该tomcat中。使用maven后,tomcat都不用下载了,可以使用maven的内嵌tomcat,很方便
http://www.cnblogs.com/yuandingjiema/archive/2012/12/23/2829789.html

为什么使用tomcat7的时候又要自己先下载一个tomcat7呢?
1 楼 HelloWorld90 2015-03-24  
传统的方法,我们需要先去下载一个tomcat到本地,然后将项目发布到该tomcat中。使用maven后,tomcat都不用下载了,可以使用maven的内嵌tomcat,很方便
http://www.cnblogs.com/yuandingjiema/archive/2012/12/23/2829789.html

相关推荐

    springboot入门示例可运行在tomcat6容器

    **SpringBoot入门示例在Tomcat6容器中的运行详解** SpringBoot是由Pivotal团队提供的全新框架,旨在简化Spring应用程序的初始搭建以及开发过程。它集成了大量的常用第三方库配置,如Redis、MongoDB、JPA、RabbitMQ...

    Learning Apache Maven

    #### 章节一:Apache Maven入门 **简介** Apache Maven 是一个流行的项目管理和理解工具,主要用于 Java 项目的构建、依赖管理和文档生成。它通过定义项目对象模型(Project Object Model,简称 POM)来帮助开发者...

    SpringBoot3

    ### SpringBoot3 核心特性和快速入门详解 #### 一、SpringBoot3 简介及核心价值 ##### 1.1 前置知识 - **Java17**:SpringBoot3 要求 Java17 或以上版本。 - **Spring、SpringMVC、MyBatis**:熟悉这些框架的基础...

    springboot入门手册.zip

    3. **嵌入式Web服务器**:Spring Boot可以内嵌Tomcat、Jetty等Web服务器,无需单独部署到外部服务器。 4. **Actuator**:Actuator提供了一组端点,用于监控和管理应用,例如查看应用信息、健康检查、日志级别调整等...

    springboot+shiro快速入门 maven项目 可直接运行

    SpringBoot的核心特性包括自动配置、内嵌Web服务器(如Tomcat)、健康检查、外部化配置等。自动配置使得开发者无需编写大量XML配置文件,而是通过"starter"依赖来引入特定的功能模块。例如,引入`spring-boot-...

    Maven SpringBoot简单案例 接口 web

    SpringBoot默认使用内嵌的Tomcat服务器,这意味着我们不需要单独部署到像Tomcat这样的外部服务器上,而是可以直接运行生成的JAR或WAR文件。 ### 运行与测试 启动应用后,你可以通过浏览器或Postman等工具访问`...

    springboot快速入门

    嵌入式服务器如 Tomcat 或 Jetty 可以使应用程序无需额外部署到外部服务器即可运行。起步依赖是预先打包的 Maven 或 Gradle 依赖,使得添加服务如数据访问、Web 开发等变得简单。Actuator 提供了监控和管理应用的一...

    jenkins入门讲解

    ### Jenkins入门讲解 #### Jenkins简介 Jenkins是一个开源软件项目,是全球最受欢迎的持续集成(CI)工具之一。它的前身是Hudson,并且随着时间的发展,它不仅成为了CI领域的领头羊,还在持续交付(CD)方面有着广泛的...

    spring boot入门ppt和代码

    2. **内嵌式容器**:Spring Boot 支持内嵌Tomcat、Jetty或Undertow等Servlet容器,这意味着你可以直接运行 jar 包而无需额外部署到外部服务器,大大简化了部署流程。 3. **自动配置**:Spring Boot 通过 @...

    spring boot入门教程

    ### Spring Boot 入门教程详解 #### Spring Boot 框架概述 Spring Boot 是由 Pivotal 团队提供的全新框架,旨在简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式(习惯优于配置)来简化整个 ...

    spring boot入门例子

    3. **嵌入式服务器(Embedded Server)**:Spring Boot 支持嵌入式Servlet容器,如Tomcat或Jetty,这样我们可以直接运行jar包而无需外部部署服务器。 4. **Spring Initializr**:这是一个在线工具或API,用于快速...

    springboot基础详解

    - **嵌入式容器**:Spring Boot 内置了 Tomcat、Jetty 或 Undertow 作为嵌入式 Web 容器,使得应用无需外部容器即可运行。 - **独立的 Spring 应用**:Spring Boot 应用无需 WAR 文件部署,可以直接被打包成 JAR ...

    springboot

    2. **内嵌Servlet容器**:支持Tomcat、Jetty和Undertow,简化了Web项目的部署。 3. **简化Maven配置**:使用starter POMs来消除冗余的依赖声明。 4. **自动配置**:Spring Boot尽可能地自动配置Spring。 5. **应用...

    The Grails Framework - Reference Documentation

    - **部署至Maven仓库**:将项目打包并发布到Maven仓库中。 - **插件依赖**:处理Grails插件之间的依赖关系。 #### 四、命令行工具 ##### 4.1 创建Gant脚本 - **编写Gant脚本**:使用Groovy语法编写脚本文件。 - **...

    springboot入门源码.rar

    3. **内嵌Web服务器**:SpringBoot可以内嵌Tomcat、Jetty等Web服务器,这样我们无需单独打包部署,可以直接运行`jar`文件启动服务。 4. **健康检查和Actuator**:SpringBoot Actuator提供了一组端点用于监控和管理...

    spingboot_实战

    3. 内嵌Servlet容器:SpringBoot支持内嵌Tomcat、Jetty等Servlet容器,使得应用可以不依赖于外部服务器直接运行。 二、SpringBoot核心组件 1. Web开发:讲解如何使用SpringBoot构建RESTful Web服务,包括使用...

    Spring Boot 最新中文文档

    - **核心功能**: 包括自动配置、启动器(starter)依赖、外部化配置等。 #### 二、入门 - **Spring Boot 简介** - **概念**: Spring Boot 是一个用于简化新 Spring 应用程序的初始设置和配置的框架。 - **优势**...

    spring-boot中文参考指南

    - **Spring CLI示例快速入门**:通过命令行创建Spring Boot应用示例。 - **从早期版本升级**:指导如何从旧版本平滑地升级到最新版本。 - **开发第一个Spring Boot应用**: - **创建POM**:定义项目的元数据和依赖...

Global site tag (gtag.js) - Google Analytics