IDEA社区版相对收费版少了很多功能,其中包括tomcat等web服务器的支持。网上大部分的IDEA web应用发布教程都是基于收费版的,社区版并没有这么直接的图形化工具可以运行或发布web应用。幸运的是经过实践证明可以通过tomcat7-maven-plugin这个maven插件来实现web应用的调式和发布。

准备工作

  • 检查确认已经安装并配置好了如下组件

    • tomcat7
    • maven3
  • 配置tomcat用户和角色

conf/tomcat-users.xml

  1. <tomcat-users>
  2. <role rolename="tomcat"/>
  3. <role rolename="manager"/>
  4. <role rolename="manager-gui"/>
  5. <role rolename="manager-script" />
  6. <role rolename="admin-gui"/>
  7. <user username="tomcat" password="tomcat" roles="tomcat,manager,manager-gui,manager-script,admin-gui" />
  8. </tomcat-users>

保证manager页面可以正常打开:http://localhost:8080/manager

配置IDEA直接运行调式web应用

  • 打开IDEA的调式运行配置

  • 新建一个Maven配置

  • 编辑配置

Name:给自己的web项目的调式运行配置起一个名字

Working directory: 选择你的要运行的web项目的路径

Command line: tomcat7:run (如果你安装的是tomcat7的话,其他版本请使用相应的命令)

  • 引入tomcat7-maven-plugin编译插件并配置

更新pom.xml

  1. <build>
  2. <finalName>demo</finalName>
  3. <pluginManagement>
  4. <plugins>
  5. <plugin>
  6. <groupId>org.apache.tomcat.maven</groupId>
  7. <artifactId>tomcat7-maven-plugin</artifactId>
  8. <version>2.2</version>
  9. <configuration>
  10. <port>8181</port>
  11. <path>/testing</path>
  12. </configuration>
  13. </plugin>
  14. </plugins>
  15. </pluginManagement>
  16. </build>

端口:8181

web的应用路径:/testing

  • 运行项目

直接点击绿色的三角形或按下快捷键Shift+F10运行当前项目

如果你的IDEA运行console输出如下图所示的信息:

说明你的web应用已经正常运行起来了,在浏览器中输入地址:http://localhost:8181/testing/ 就可以访问该web的内容了@_@

用Maven打包发布web应用

  • 配置服务器的用户名和密码

更新setttings.xml,默认路径是在个人的home目录下的.m2:~/.m2/setttings.xml

在servers节点再添加一个server节点:

这里配置的是发布到的远程服务器的用户名和密码,如果不把用户名和密码配置在settings.xml文件里就需要把服务器的用户名和密码配置在项目的pom.xml文件中,这是不安全的做法。

  1. <servers>
  2. <server>
  3. <id>tomcat</id>
  4. <username>tomcat</username>
  5. <password>tomcat</password>
  6. </server>
  7. </servers>
  • 配置发布的目标服务器

更新pom.xml

  1. <build>
  2. <finalName>demo</finalName>
  3. <pluginManagement>
  4. <plugins>
  5. <plugin>
  6. <groupId>org.apache.tomcat.maven</groupId>
  7. <artifactId>tomcat7-maven-plugin</artifactId>
  8. <version>2.2</version>
  9. <configuration>
  10. <port>8181</port>
  11. <path>/testing</path>
  12.  
  13. <url>http://localhost:8080/manager/text</url>
  14. <server>tomcat</server>
  15. </configuration>
  16. </plugin>
  17. </plugins>
  18. </pluginManagement>
  19. </build>

增加:

url:你要发布web项目的所在的服务器的URL,发布的文件会上传到该服务器相应的<path>路径下

server:对应settings.xml文件的server

  • 用maven命令发布web应用

cd到要发布的项目的根目录或直接打开IDEA的terminal(默认是当前项目的根目录),然后执行下面命令:

  1. mvn clean install package tomcat7:redeploy -Dmaven.test.skip=true

-Dmaven.test.skip=true 命令是为了跳过单元测试

  • 发布成功

如果出现如下信息,恭喜你,你的web应用发布成功了

如果一切正常的话你就可以在tomcat的webapps目录下找到刚刚发布的网站生成的文件 testing.war

用浏览器打开地址:http://localhost:8080/testing

就可以访问你刚刚发布的web项目了@~@

转载请注明出处:https://i.cnblogs.com/EditPosts.aspx?postid=5737866

IDEA社区版运行并发布web项目的更多相关文章

  1. Tomcat8内置jdk8运行环境发布web项目

    简单说明:之前部署项目都是没有改变之前的环境变量,最近由于公司的数据源换了,jdk由1.7改成了1.8,tomcat7也改为了1.8,现在需要部署采用新数据源的这个项目, 为了不改变之前的环境变量,使 ...

  2. 如何在Eclipse或者Myeclipse中使用tomcat(配置tomcat,发布web项目)?(图文详解)(很实用)

    前期博客 Eclipse里的Java EE视图在哪里?MyEclipse里的Java EE视图在哪里?MyEclipse里的MyEclipse Java Enterprise视图在哪里?(图文详解) ...

  3. Maven发布web项目到tomcat

    在java开发中经常要引入很多第三方jar包:然而无论是java web开发还是其他java项目的开发经常会由于缺少依赖包引来一些不必要的异常.常常也是因为这样的原因导致许多简单的缺包和版本问题耗费大 ...

  4. eclipse中tomcat使用add and remove无法发布web项目

    继上次启动eclipse中的tomcat报classNotFound的问题后,这次又遇到新问题.就是右键点击tomcat使用add and remove发布web项目至tomcat后,启动tomcat ...

  5. Mac下Intellij IDea发布Web项目详解一

    Mac下Intellij IDea发布Web项目详解一 Mac下Intellij IDea发布Java Web项目(适合第一次配置Tomcat的家伙们)详解二 Mac下Intellij IDea发布J ...

  6. 带领技术小白入门——基于java的微信公众号开发(包括服务器配置、java web项目搭建、tomcat手动发布web项目、微信开发所需的url和token验证)

    微信公众号对于每个人来说都不陌生,但是许多人都不清楚是怎么开发的.身为技术小白的我,在闲暇之余研究了一下基于java的微信公众号开发.下面就是我的实现步骤,写的略显粗糙,希望大家多多提议! 一.申请服 ...

  7. tomcat发布web项目的三种方式

    tomcat发布web项目的三种方式 方式一: 配置tomcat 安装目录下的conf/server.xml <Host name="loaclhost">标签里面添加 ...

  8. Linux上部署web服务器并发布web项目-转

    Linux上部署web服务器并发布web项目   近在学习如何在linux上搭建web服务器来发布web项目,由于本人是linux新手,所以中间入了不少坑,搞了好久才搞出点成果.以下是具体的详细步骤以 ...

  9. Linux上部署web服务器并发布web项目

    近在学习如何在linux上搭建web服务器来发布web项目,由于本人是linux新手,所以中间入了不少坑,搞了好久才搞出点成果.以下是具体的详细步骤以及我对此做的一些总结和个人的一些见解,希望对跟我一 ...

随机推荐

  1. 怎么从sqlserver 数据库导出 insert 的数据语句

    In SSMS in the Object Explorer, right click on the database right-click and pick "Tasks" a ...

  2. 如何用 redis 造一把分布式锁

    基本概念 锁 wiki:In computer science, a lock or mutex (from mutual exclusion) is a synchronization mechan ...

  3. 第三百三十三天 how can I 坚持

    为什么感觉那么累呢,老想睡觉. 晚上勇江请吃饭,其实内心是拒绝的,好伐,老想回家尽快睡觉. 今天说是要搞oauth认证的东西,看的一头雾水. 想的太简单了.其实也不难.apache的东西,都封装好的. ...

  4. Spark RDD概念学习系列之RDD的缓存(八)

      RDD的缓存 RDD的缓存和RDD的checkpoint的区别 缓存是在计算结束后,直接将计算结果通过用户定义的存储级别(存储级别定义了缓存存储的介质,现在支持内存.本地文件系统和Tachyon) ...

  5. 对pymysql的简单封装

    #coding=utf-8 #!/usr/bin/python import pymysql class MYSQL: """ 对pymysql的简单封装 "& ...

  6. 缓存需要注意的问题以及使用.net正则替换字符串的方法

    参考资料:http://www.infoq.com/cn/news/2015/09/cache-problems 正则替换字符串的简单方法: var regTableType = new Regex( ...

  7. CodeForces 711A Bus to Udayland (水题)

    题意:给定一个n*4的矩阵,然后O表示空座位,X表示已经有人了,问你是不能找到一对相邻的座位,都是空的,并且前两个是一对,后两个是一对. 析:直接暴力找就行. 代码如下: #pragma commen ...

  8. iOS Framework lipo报错 lipo: can't map input file

    fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ ...

  9. T4 模板入门

    T4,即4个T开头的英文字母组合:Text Template Transformation Toolkit.T4(Text Template Transformation Toolkit)是微软官方在 ...

  10. Java调用Telnet示例

    import java.io.IOException; import java.io.InputStream; import java.io.PrintStream; import java.io.U ...