IDEA社区版运行并发布web项目
IDEA社区版相对收费版少了很多功能,其中包括tomcat等web服务器的支持。网上大部分的IDEA web应用发布教程都是基于收费版的,社区版并没有这么直接的图形化工具可以运行或发布web应用。幸运的是经过实践证明可以通过tomcat7-maven-plugin这个maven插件来实现web应用的调式和发布。
准备工作
检查确认已经安装并配置好了如下组件
- tomcat7
- maven3
配置tomcat用户和角色
conf/tomcat-users.xml
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="manager-script" />
<role rolename="admin-gui"/>
<user username="tomcat" password="tomcat" roles="tomcat,manager,manager-gui,manager-script,admin-gui" />
</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
<build>
<finalName>demo</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8181</port>
<path>/testing</path>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</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文件中,这是不安全的做法。
<servers>
<server>
<id>tomcat</id>
<username>tomcat</username>
<password>tomcat</password>
</server>
</servers>
配置发布的目标服务器
更新pom.xml
<build>
<finalName>demo</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8181</port>
<path>/testing</path> <url>http://localhost:8080/manager/text</url>
<server>tomcat</server>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
增加:
url:你要发布web项目的所在的服务器的URL,发布的文件会上传到该服务器相应的<path>路径下
server:对应settings.xml文件的server
用maven命令发布web应用
cd到要发布的项目的根目录或直接打开IDEA的terminal(默认是当前项目的根目录),然后执行下面命令:
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项目的更多相关文章
- Tomcat8内置jdk8运行环境发布web项目
简单说明:之前部署项目都是没有改变之前的环境变量,最近由于公司的数据源换了,jdk由1.7改成了1.8,tomcat7也改为了1.8,现在需要部署采用新数据源的这个项目, 为了不改变之前的环境变量,使 ...
- 如何在Eclipse或者Myeclipse中使用tomcat(配置tomcat,发布web项目)?(图文详解)(很实用)
前期博客 Eclipse里的Java EE视图在哪里?MyEclipse里的Java EE视图在哪里?MyEclipse里的MyEclipse Java Enterprise视图在哪里?(图文详解) ...
- Maven发布web项目到tomcat
在java开发中经常要引入很多第三方jar包:然而无论是java web开发还是其他java项目的开发经常会由于缺少依赖包引来一些不必要的异常.常常也是因为这样的原因导致许多简单的缺包和版本问题耗费大 ...
- eclipse中tomcat使用add and remove无法发布web项目
继上次启动eclipse中的tomcat报classNotFound的问题后,这次又遇到新问题.就是右键点击tomcat使用add and remove发布web项目至tomcat后,启动tomcat ...
- Mac下Intellij IDea发布Web项目详解一
Mac下Intellij IDea发布Web项目详解一 Mac下Intellij IDea发布Java Web项目(适合第一次配置Tomcat的家伙们)详解二 Mac下Intellij IDea发布J ...
- 带领技术小白入门——基于java的微信公众号开发(包括服务器配置、java web项目搭建、tomcat手动发布web项目、微信开发所需的url和token验证)
微信公众号对于每个人来说都不陌生,但是许多人都不清楚是怎么开发的.身为技术小白的我,在闲暇之余研究了一下基于java的微信公众号开发.下面就是我的实现步骤,写的略显粗糙,希望大家多多提议! 一.申请服 ...
- tomcat发布web项目的三种方式
tomcat发布web项目的三种方式 方式一: 配置tomcat 安装目录下的conf/server.xml <Host name="loaclhost">标签里面添加 ...
- Linux上部署web服务器并发布web项目-转
Linux上部署web服务器并发布web项目 近在学习如何在linux上搭建web服务器来发布web项目,由于本人是linux新手,所以中间入了不少坑,搞了好久才搞出点成果.以下是具体的详细步骤以 ...
- Linux上部署web服务器并发布web项目
近在学习如何在linux上搭建web服务器来发布web项目,由于本人是linux新手,所以中间入了不少坑,搞了好久才搞出点成果.以下是具体的详细步骤以及我对此做的一些总结和个人的一些见解,希望对跟我一 ...
随机推荐
- 第二百零三天 how can I 坚持
空虚的有点害怕. 日复一日. 今天做了什么?下班看了个搞笑段子. 上班和刘松聊了一下午,东扯西扯的. 下班玩了两局dota. 想租车去出去玩玩,确实没有什么想去的地方了. 莫巧菲. 哎,未来好可怕啊. ...
- MyEclipse 代码自动提示
默认 myeclipse,输入.才会出现代码提示,不能根据单词前缀提示. 按以下设置就很爽了 .abcdefghijklmnopqrstuvwxyz(,
- 【Maven】Maven下载源码和Javadoc的方法
1:Maven命令下载源码和javadocs 当在IDE中使用Maven时如果想要看引用的jar包中类的源码和javadoc需要通过maven命令下载这些源码,然后再进行引入,通过mvn命令能够容易的 ...
- STL学习系列七:优先级队列priority_queue容器
1.简介 最大值优先级队列.最小值优先级队列 优先级队列适配器 STL priority_queue 用来开发一些特殊的应用,请对stl的类库,多做扩展性学习 这里给个例子: #include< ...
- HDU 5437 Alisha’s Party (优先队列模拟)
题意:邀请k个朋友,每个朋友带有礼物价值不一,m次开门,每次开门让一定人数p(如果门外人数少于p,全都进去)进来,当最后所有人都到了还会再开一次门,让还没进来的人进来,每次都是礼物价值高的人先进.最后 ...
- C:结构体
结构体 构造类型:就是有基本的类型组成的 1.结构体 结构体是一种自定义的数据类型 和 int float 是一样的都可以定义变量 数组 只能存放一种类型的容器 结构体 可以存放多种数据类型 ...
- NAND flash NOR flash SDRAM区别
nand flash:适合大容量数据存储,类似硬盘:nor flash:适合小容量的程序或数据存储,类似小硬盘:sdram:主要用于程序执行时的程序存储.执行或计算,类似内存. 区别:nor flas ...
- as自定义菜单。
与菜单相关的类一共有3个 ContextMenu类 ContextMenuBuiltInItems类 //与系统内置菜单相关的类 ContextMenuItem类 //与用户自定义菜单相关的类
- 学习C++的一些问题总结
C++ 问题 (一) int main() { int i,j,m,n; i=8; j=10; m=++i+j++; //++i是先递加再使用,j++是先使用再递加,故:9+10=19 n=++i+ ...
- HTML要点(四)<meta>标签
浏览器支持 所有浏览器都支持 <meta> 标签. 定义和用法 <meta> 元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和 ...