<div id="post_detail">
使用IntelliJ IDEA和Maven构建Java web项目并打包部署
爱编程爱分享,原创文章,转载请注明出处,谢谢! http://www.cnblogs.com/fozero/p/6120375.html
一、背景
现在越来越多的人使用IntelliJ IDEA工具进行Java的开发,以前也对IntelliJ IDEA有了解过,但是一直没有去使用。
IntelliJ IDEA比Myeclipse好用多了 ,功能也非常的强大,google公司Android Studio就是基于IntelliJ IDEA开发的,
开发效率非常高,各种智能提示等等,具体的大家可以去了解一下,这里我就不再赘述了,本文着重讲一下怎么使用IntelliJ IDEA和Maven创建一个Java web项目。
二、下载安装
IntelliJ IDEA下载地址https://www.jetbrains.com/idea/download/#section=windows
Maven下载地址http://maven.apache.org/download.cgi
安装好IntelliJ IDEA默认界面一般是这样的 ,没有显示工具栏,操作很不方便
由于是第一次用,所以对整个工具使用都不是很清楚,那如果想要显示出来,我们点击view,然后勾选toolbar就行了
现在我们可以看到我们的工具类多出了很多图标很方便
三、Maven介绍及配置
maven是一个项目构建和管理的工具,提供了帮助管理 构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。
我们使用maven构建项目,这样在以后的开发中不用你手动去下载jar包,所有jar包仓库统一管理,只要配置一下pom文件,run-install...依赖的包就会下载下来,省去你管理依赖的时间,还有svn的时候不用传jar包了,可以不限制IDE,有人喜欢用eclipse有人喜欢用netbeans。
类似的项目构建工具还有ant和gradle,Android Studio默认就是采用gradle构建,非常方便
刚开始使用我们需要对maven进行配置,设置好maven安装目录和maven本地仓库
四、Maven创建Java web项目
点击创建新项目
选择创建Maven项目,如下图
填写GroupId和ArticfactId
选择我们的Maven安装目录以及本地仓库
填写项目名称、目录,以及模块名称等 点击finish完成
创建好的项目目录结构
recources文件夹:一般用来存放一些资源文件
webapp文件夹:用来存放web配置文件以及jsp页面等
注:target目录是在maven打包的时候才会生成的,一开始是没有这个目录的
五、创建Java目录
点击Project Structure
选择Modules,选中testmvn项目,鼠标右键新建java目录
把java目录设置为Sources,用于保存java代码,设置完成后文件夹会变成蓝色,点击ok
六、配置Tomcat服务器
点击edit configurations
点击左上角添加符号,选择tomcat server-》local
配置好下面的选项点击ok即可
如果要部署我们的程序,选择deployment点右边的加号符选择Artifact选择我们项目
七、Maven打包部署项目
点击右边的Maven Projects,出现如下图
鼠标右键运行Maven Build
出现下面的结果说明build成功
然后我们选择install运行进行打包
打包成功后会出现下面结果,显示我们war包的存放目录
之后在我们的工程目录下会生成我们之前配置好的target文件
我们将war包copy到tomcat下webapps目录下面,运行tomcat服务器
在浏览器输入网址显示helloword http://localhost:8080/
文章出处:https://www.cnblogs.com/fozero
声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
</div>
<div class="postDesc">posted @ <span id="post-date">2016-12-01 00:42</span> <a href="https://www.cnblogs.com/fozero/">fozero</a> 阅读(<span id="post_view_count">9659</span>) 评论(<span id="post_comment_count">3</span>) <a href="https://i.cnblogs.com/EditPosts.aspx?postid=6120375" rel="nofollow">编辑</a> <a href="#" onclick="AddToWz(6120375);return false;">收藏</a></div>
</div>
<script type="text/javascript">var allowComments=true,cb_blogId=261474,cb_entryId=6120375,cb_blogApp=currentBlogApp,cb_blogUserGuid='18358ec5-4fb1-e511-9fc1-ac853d9f53cc',cb_entryCreatedDate='2016/12/1 0:42:00';loadViewCount(cb_entryId);var cb_postType=1;var isMarkdown=false;</script>
<div class="feedbackItem">
<div class="feedbackListSubtitle">
<div class="feedbackManage">
<span class="comment_actions"><a href="javascript:void(0);" onclick="return ReplyComment(3972974,'Jr26lcIWmvGHihVyfjAYt4hxI3RwfqeLakJ5iV7DAn+dMj6Q+dp3SQ==')">回复</a><a href="javascript:void(0);" onclick="return QuoteComment(3972974,'Jr26lcIWmvGHihVyfjAYt4hxI3RwfqeLakJ5iV7DAn+dMj6Q+dp3SQ==')">引用</a></span>
</div>
<a href="#3972974" class="layer">#1楼</a><a name="3972974" id="comment_anchor_3972974"></a> <span class="comment_date">2018-05-12 21:38</span> <a id="a_comment_author_3972974" href="https://www.cnblogs.com/chenxiaol/" target="_blank">秉识</a> <a href="http://msg.cnblogs.com/send/%E7%A7%89%E8%AF%86" title="发送站内短消息" class="sendMsg2This"> </a>
</div>
<div class="feedbackCon">
<div id="comment_body_3972974" class="blog_comment_body">很棒,参考这个文章,解决了一个折腾好久的问题。</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(3972974,'Digg',this)">支持(0)</a><a href="javascript:void(0);" class="comment_bury" onclick="return voteComment(3972974,'Bury',this)">反对(0)</a></div><span id="comment_3972974_avatar" style="display:none;">http://pic.cnblogs.com/face/1141312/20170406184259.png</span>
</div>
</div>
<div class="feedbackItem">
<div class="feedbackListSubtitle">
<div class="feedbackManage">
<span class="comment_actions"><a href="javascript:void(0);" onclick="return ReplyComment(4137729,'ZJbYxXjeKMCvchNsBSonPhad2qlaGia4tXBO2VhAhtErUivpeOnsVw==')">回复</a><a href="javascript:void(0);" onclick="return QuoteComment(4137729,'ZJbYxXjeKMCvchNsBSonPhad2qlaGia4tXBO2VhAhtErUivpeOnsVw==')">引用</a></span>
</div>
<a href="#4137729" class="layer">#2楼</a><a name="4137729" id="comment_anchor_4137729"></a> <span class="comment_date">2018-12-12 16:37</span> <a id="a_comment_author_4137729" href="http://home.cnblogs.com/u/1383519/" target="_blank">毕业那天如果没有告别?</a> <a href="http://msg.cnblogs.com/send/%E6%AF%95%E4%B8%9A%E9%82%A3%E5%A4%A9%E5%A6%82%E6%9E%9C%E6%B2%A1%E6%9C%89%E5%91%8A%E5%88%AB%EF%BC%9F" title="发送站内短消息" class="sendMsg2This"> </a>
</div>
<div class="feedbackCon">
<div id="comment_body_4137729" class="blog_comment_body">大哥,虽然这个是可行的,但是也太麻烦了吧。有没有简单快速一点的啊!就像eclipse里面一样</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(4137729,'Digg',this)">支持(0)</a><a href="javascript:void(0);" class="comment_bury" onclick="return voteComment(4137729,'Bury',this)">反对(0)</a></div>
</div>
</div>
<div class="feedbackItem">
<div class="feedbackListSubtitle">
<div class="feedbackManage">
<span class="comment_actions"><a href="javascript:void(0);" onclick="return ReplyComment(4137731,'ZJbYxXjeKMCvchNsBSonPhad2qlaGia4tXBO2VhAhtErUivpeOnsVw==')">回复</a><a href="javascript:void(0);" onclick="return QuoteComment(4137731,'ZJbYxXjeKMCvchNsBSonPhad2qlaGia4tXBO2VhAhtErUivpeOnsVw==')">引用</a></span>
</div>
<a href="#4137731" class="layer">#3楼</a><a name="4137731" id="comment_anchor_4137731"></a><span id="comment-maxId" style="display:none;">4137731</span><span id="comment-maxDate" style="display:none;">2018/12/12 16:38:10</span> <span class="comment_date">2018-12-12 16:38</span> <a id="a_comment_author_4137731" href="http://home.cnblogs.com/u/1383519/" target="_blank">毕业那天如果没有告别?</a> <a href="http://msg.cnblogs.com/send/%E6%AF%95%E4%B8%9A%E9%82%A3%E5%A4%A9%E5%A6%82%E6%9E%9C%E6%B2%A1%E6%9C%89%E5%91%8A%E5%88%AB%EF%BC%9F" title="发送站内短消息" class="sendMsg2This"> </a>
</div>
<div class="feedbackCon">
<div id="comment_body_4137731" class="blog_comment_body">那我岂不是没改一次就要打包复制一次,这不得疯啊</div><div class="comment_vote"><a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(4137731,'Digg',this)">支持(0)</a><a href="javascript:void(0);" class="comment_bury" onclick="return voteComment(4137731,'Bury',this)">反对(0)</a></div>
</div>
</div>
<div id="comments_pager_bottom"></div></div><script type="text/javascript">var commentManager = new blogCommentManager();commentManager.renderComments(0);</script>