maven打包web项目时同时打包为war和jar文件的方法

 更新时间:2017年10月13日 10:26:30   作者:xlxxcc  
本篇文章主要介绍了maven打包web项目时同时打包为war和jar文件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文介绍了maven打包web项目时同时打包为war和jar文件的方法,分享给大家,具体如下:

首先在pom.xml文件中指定war的打包方式,war

  <artifactId>test</artifactId>
  <name>test</name>
  <packaging>war</packaging> 

上述代码在eclipse中执行maven install时, 会默认打成war,并放入本地仓库。

web项目时同时打包为war和jar文件

1、首先添加在pom.xml中添加插件 maven-jar-plugin , 使得 在调用命令mvn package install 或者 mvn package deploy 先生成 jar包。或者使用mvn package生成jar包。该插件生成的架包会放在工程的target文件夹下。

2、然后配置maven-install-plugin 插件, 使得在eclipse中执行maven install时, 同时生成jar和war到本地仓库。

3、再配置org.apache.maven.plugins插件, 使得在eclipse中执行deploy 时, 同时,生成jar和war到远程仓库。

源码如下:

<!-- package jar on package -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
          <execution>
            <phase>compile</phase>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <!-- install jar to local repository -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-install-plugin</artifactId>
        <executions>
          <execution>
            <phase>install</phase>
            <goals>
              <goal>install-file</goal>
            </goals>
            <configuration>
              <packaging>jar</packaging>
              <artifactId>${project.artifactId}</artifactId>
              <groupId>${project.groupId}</groupId>
              <version>${project.version}</version>
              <file>
                ${project.build.directory}/${project.artifactId}-${project.version}.jar
              </file>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <!-- deploy jar to remote repository -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
        <executions>
          <execution>
            <phase>deploy</phase>
            <goals>
              <goal>deploy-file</goal>
            </goals>
            <configuration>
              <packaging>jar</packaging>
              <generatePom>true</generatePom>
              <url>${project.distributionManagement.repository.url}</url>
              <artifactId>${project.artifactId}</artifactId>
              <groupId>${project.groupId}</groupId>
              <version>${project.version}</version>
              <file>${project.build.directory}/${project.artifactId}.jar</file>
            </configuration>
          </execution>
        </executions>
      </plugin>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot首笔交易慢问题排查与优化方案

    SpringBoot首笔交易慢问题排查与优化方案

    在我们的微服务项目中,遇到这样的问题:应用启动后,第一笔交易响应耗时高达4、5秒,而后续请求均能在毫秒级完成,这不仅触发监控告警,也极大影响了用户体验,本文将结合日志排查、性能工具分析以及预热优化手段,总结出一套完整的排查思路和解决方案
    2025-04-04
  • jvm类加载器基础解析

    jvm类加载器基础解析

    这篇文章主要介绍了jvm类加载器基础解析,具有一定借鉴价值,需要的朋友可以参考下
    2017-12-12
  • 完美解决SpringCloud-OpenFeign使用okhttp替换不生效问题

    完美解决SpringCloud-OpenFeign使用okhttp替换不生效问题

    这篇文章主要介绍了完美解决SpringCloud-OpenFeign使用okhttp替换不生效问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • java获取注册ip实例

    java获取注册ip实例

    本文分享了java获取注册ip实例代码,代码简洁,具有很好的参考价值,需要的朋友一起来看下吧
    2016-12-12
  • Java代码审计之URL重定向的问题解决

    Java代码审计之URL重定向的问题解决

    URLRedirect url重定向漏洞也称url任意跳转漏洞,网站信任了用户的输入导致恶意攻击,本文主要介绍了Java代码审计之URL重定向的问题解决,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • Java几种常用的断言风格你怎么选

    Java几种常用的断言风格你怎么选

    这篇文章主要介绍了Java几种常用的断言风格你怎么选,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Go Java算法之K个重复字符最长子串详解

    Go Java算法之K个重复字符最长子串详解

    这篇文章主要为大家介绍了Go Java算法之K个重复字符最长子串详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • SpringBoot实现导出复杂对象到Excel文件

    SpringBoot实现导出复杂对象到Excel文件

    这篇文章主要为大家详细介绍了如何使用Hutool和EasyExcel两种方式来实现在Spring Boot项目中导出复杂对象到Excel文件,需要的小伙伴可以参考下
    2025-03-03
  • SpringBoot集成netty实现websocket通信功能

    SpringBoot集成netty实现websocket通信功能

    Netty是一个高性能、异步事件驱动的网络应用框架,用于快速开发可维护的高性能协议服务器和客户端,WebSocket 是一种网络通信协议,相比传统的HTTP协议,本文给大家介绍了SpringBoot集成netty实现websocket通信功能,需要的朋友可以参考下
    2024-03-03
  • JVM执行引擎的项目实践

    JVM执行引擎的项目实践

    执行引擎是Java虚拟机核心的组成部分之一,本文主要介绍了JVM执行引擎的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-04-04

最新评论