<span hidden="" itemprop="author" itemscope="" itemtype="http://schema.org/Person">
<meta itemprop="name" content="Charse">
<meta itemprop="description" content="">
<meta itemprop="image" content="/uploads/avatar.png">
</span>
<span hidden="" itemprop="publisher" itemscope="" itemtype="http://schema.org/Organization">
<meta itemprop="name" content="Charse's Blog">
</span>
<header class="post-header">
<h1 class="post-title" itemprop="name headline">IDEA多模块父子依赖maven项目war包部署</h1>
<div class="post-meta">
<span class="post-time">
<span class="post-meta-item-icon">
<i class="fa fa-calendar-o"></i>
</span>
<span class="post-meta-item-text">Posted on</span>
<time title="Post created" itemprop="dateCreated datePublished" datetime="2018-04-25T20:02:54+08:00">
2018-04-25
</time>
</span>
<span class="post-category">
<span class="post-meta-divider">|</span>
<span class="post-meta-item-icon">
<i class="fa fa-folder-o"></i>
</span>
<span class="post-meta-item-text">In</span>
<span itemprop="about" itemscope="" itemtype="http://schema.org/Thing">
<a href="/categories/IDEA/" itemprop="url" rel="index">
<span itemprop="name">IDEA</span>
</a>
</span>
</span>
<span class="post-comments-count">
<span class="post-meta-divider">|</span>
<span class="post-meta-item-icon">
<i class="fa fa-comment-o"></i>
</span>
<a href="/2018/04/25/IDEA多模块父子依赖maven项目war包部署/#comments" itemprop="discussionUrl">
<span class="post-comments-count ds-thread-count" data-thread-key="2018/04/25/IDEA多模块父子依赖maven项目war包部署/" itemprop="commentCount"></span>
</a>
</span>
<span id="/2018/04/25/IDEA多模块父子依赖maven项目war包部署/" class="leancloud_visitors" data-flag-title="IDEA多模块父子依赖maven项目war包部署">
<span class="post-meta-divider">|</span>
<span class="post-meta-item-icon">
<i class="fa fa-eye"></i>
</span>
<span class="post-meta-item-text">Visitors </span>
<span class="leancloud-visitors-count">286</span>
</span>
</div>
</header>
<div class="post-body" itemprop="articleBody">
<p><code>IDEA</code>全称为<code>IntrlliJ IDEA</code>,它是一款非常智能,方便,高效的<code>Java</code>开发工具,<code>IDEA</code>是<code>JetBrains</code>公司的产品,这家公司总部位于捷克*的首都布拉格,开发人员以严谨著称的东欧程序员为主。其实是无论是<code>Java</code>开发工具还是其他语言的开发工具,<code>JetBrains</code>公司的产品都是极为好用的(真的是匠心制造)。<code>IDEA</code>社区版是免费的,但是专业版是收费的,所以对于学生党来说购买专业版无疑是一笔“巨资投入”。</p>
废话不多说了,进入我们的题目正题是时候给大家介绍如何将多模块的maven
项目打包成war
包部署在tomcat
上了。
项目打war包
当项目开发好, 并且测试好了之后,那么我们应该怎么将项目部署到服务器上呢?如果你是在公司做项目开发,并且公司开发较为规范,公司一般有自动化的部署平台,我们只需要将项目的代码提交到指定的代码仓库中(如master
分支), 再通过自动化部署平台,部署平台就自动对项目进行编译,打包,部署等一系列的工作。但是,我们学生党自己做项目开发,只能自己动手了,那么如何使用IDEA将项目打包成war
包呢,请看下面的讲解:
1.首先使用IDEA
打开项目,在File
–>Project Structure
打开项目的结构,如下图:
2.选择Artifacts
, 然后选择项目中的一个部署war
包, 其实Artifacts
中可以有打成多个不同的war
包, war
包的名称就是右侧name
中命名的war
包名称。
这个名称也是部署在tomcat
之后,你需要访问项目时 在端口后面跟上的项目名称,例如: 我这里的web
项目之前的名称是greenhouse-monitor-web.war
, 但是我重新命名war包的名称为monitor.war
, 所以当我把打好的war包部署在tomcat
之后,我访问该项目的路径就是
|
|
并且在Artifacts
中可以定义war
的输出文件位置,即在Output directory
中进行设置。所以知道了Artifacts
的设置之后,就可以对项目进行打包了。
3.选择Build
–> Build Artifacts
, 如图:
4.然后会弹出如下的选择框,可以看到,这里面的选项也就是我们在项目结构中的Artifacts
中所有定义的war
名称,选择对应的一个war,
选择build
选项,这样就可以对项目进行构建了,稍等一会儿就可以将项目构建,打包成war
包了,那么打好的war
生成在那里呢? 对了,之前在项目结构中不是有指定的war包项目目录吗? 是的war
包就打在那个指定的目录下,如下图,我的monitor.war
就生成在我指定的目录下:
这样就可以直接将这个是war
包放在是tomcat
的webapp
下面, 在tomcat
启动的时候是会自动对war
进行解压的,这个完全不用担心,里面就是一些编译后的calss
文件和一些静态资源和配置文件了。
</div>
<div>
</div>
<div>
赏
<div id="wechat" style="display: inline-block">
<a href="http://p7qgi56uk.bkt.clouddn.com/WechatPaysmall.jpg" class="fancybox fancybox.image" rel="group"><img id="wechat_qr" src="http://p7qgi56uk.bkt.clouddn.com/WechatPaysmall.jpg" alt="Charse WeChat Pay"></a>
<p>微信打赏</p>
</div>
<div id="alipay" style="display: inline-block">
<a href="http://p7qgi56uk.bkt.clouddn.com/Alipaysmall.jpg" class="fancybox fancybox.image" rel="group"><img id="alipay_qr" src="http://p7qgi56uk.bkt.clouddn.com/Alipaysmall.jpg" alt="Charse Alipay"></a>
<p>支付宝打赏</p>
</div>
</div>
</div>
<div>
</div>
<footer class="post-footer">
<div class="post-tags">
<a href="/tags/Java/" rel="tag"># Java</a>
<a href="/tags/IDEA/" rel="tag"># IDEA</a>
</div>
<div class="post-nav">
<div class="post-nav-next post-nav-item">
<a href="/2018/04/23/Navicat连接远程MySQL并做数据迁移/" rel="next" title="Navicat连接远程MySQL并做数据迁移">
<i class="fa fa-chevron-left"></i> Navicat连接远程MySQL并做数据迁移
</a>
</div>
<span class="post-nav-divider"></span>
<div class="post-nav-prev post-nav-item">
<a href="/2018/04/26/No-converter-found-for-return-value-of-type-xxx-异常解决/" rel="prev" title="No converter found for return value of type xxx 异常解决">
No converter found for return value of type xxx 异常解决 <i class="fa fa-chevron-right"></i>
</a>
</div>
</div>
</footer>