IDEA多模块父子依赖maven项目war包部署

时间:2021-11-24 15:03:43
<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 打开项目的结构,如下图:

IDEA多模块父子依赖maven项目war包部署

2.选择Artifacts, 然后选择项目中的一个部署war包, 其实Artifacts 中可以有打成多个不同的war包, war包的名称就是右侧name 中命名的war包名称。
IDEA多模块父子依赖maven项目war包部署
这个名称也是部署在tomcat之后,你需要访问项目时 在端口后面跟上的项目名称,例如: 我这里的web 项目之前的名称是greenhouse-monitor-web.war, 但是我重新命名war包的名称为monitor.war, 所以当我把打好的war包部署在tomcat之后,我访问该项目的路径就是

1
http://xxx.xxx.xx.xx:8080/monitor

并且在Artifacts中可以定义war的输出文件位置,即在Output directory 中进行设置。所以知道了Artifacts的设置之后,就可以对项目进行打包了。

3.选择Build –> Build Artifacts , 如图:
IDEA多模块父子依赖maven项目war包部署

4.然后会弹出如下的选择框,可以看到,这里面的选项也就是我们在项目结构中的Artifacts中所有定义的war名称,选择对应的一个war,
选择build选项,这样就可以对项目进行构建了,稍等一会儿就可以将项目构建,打包成war包了,那么打好的war生成在那里呢? 对了,之前在项目结构中不是有指定的war包项目目录吗? 是的war包就打在那个指定的目录下,如下图,我的monitor.war 就生成在我指定的目录下:

IDEA多模块父子依赖maven项目war包部署

这样就可以直接将这个是war包放在是tomcatwebapp下面, 在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>