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

<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 打开项目的结构,如下图:

image

2.选择Artifacts, 然后选择项目中的一个部署war包, 其实Artifacts 中可以有打成多个不同的war包, war包的名称就是右侧name 中命名的war包名称。
image
这个名称也是部署在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 , 如图:
image

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

image

这样就可以直接将这个是war包放在是tomcatwebapp下面, 在tomcat启动的时候是会自动对war进行解压的,这个完全不用担心,里面就是一些编译后的calss文件和一些静态资源和配置文件了。

</div>

<div>
  
    

  
</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>
原文地址:https://www.cnblogs.com/jpfss/p/10019760.html