`
oywl2008
  • 浏览: 1079826 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

体验maven插件功能,同时打包jar和war

 
阅读更多

体验maven插件功能,同时打包jar和war

maven 是一个java编写的用于构建系统的自动化工具,正在逐渐取代Ant,成为主流的工具.
官方主页:http://maven.apache.org/

maven打包的格式,可以为:pom , jar , maven-plugin , ejb , war , ear , rar , par。但是maven同时只能生成一种类型的包,在实际项目中,如果
同时生成几种类型的包,如生成jar,同时生成war,并将新生成的jar也打到war中。这就需要使用maven的插件功能,下面列举一些常用的插件:
1 同时生成jar和war, war在主文件中,用plugin生成jar            
         <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
    <configuration>
     <encoding>UTF-8</encoding>
    </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <configuration>
                            <classesDirectory>target/classes</classesDirectory>
                            <finalName>fooWebApp</finalName>
                            <outputDirectory>target/fooWebApp/WEB-INF/lib</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
2 类似于ant的文件复制 
           <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.4.1</version>
    <configuration>
     <encoding>UTF-8</encoding>
    </configuration>
                <executions>
                    <execution>
                        <id>copy-resources</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>
                                src/main/webapp/WEB-INF/lib
                            </outputDirectory>
                            <resources>
                                <resource>
                                    <directory>
                                        target/jar
                                    </directory>
                                    <filtering>true</filtering>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
3 指定jdk版本 
      <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
     <source>1.5</source>
     <target>1.5</target>
     <encoding>UTF-8</encoding>
    </configuration>
   </plugin>
4 指定编码格式 
     <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <configuration>
     <encoding>UTF-8</encoding>
    </configuration>
   </plugin>
   
注意: maven打包和构建是异步执行的,同时执行多个任务时,可能会发生IO错误,如要拷贝的文件夹正在生成。可以考虑将该任务分成多个阶段。

完整的示例:
<project xmlns="http://maven.apache.org/POM/4.0.0 "
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd ">
    <modelVersion>4.0.0</modelVersion>
    <groupId>net.zhuozhe</groupId>
    <artifactId>fooWebApp</artifactId>
    <packaging>war</packaging>
    <version>1.0</version>
    <name>fooWebApp</name>
    <url>http://maven.apache.org</url>
    <properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 </properties>
    <dependencies>
      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
       <version>1.1</version>
    </dependency>
    </dependencies>
    <build>
        <finalName>fooWebApp</finalName>
   <plugins>

    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
     <source>1.5</source>
     <target>1.5</target>
     <encoding>UTF-8</encoding>
    </configuration>
   </plugin>
   <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <configuration>
     <encoding>UTF-8</encoding>
    </configuration>
   </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
    <configuration>
     <encoding>UTF-8</encoding>
    </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <configuration>
                            <classesDirectory>target/classes</classesDirectory>
                            <finalName>fooWebApp</finalName>
                            <outputDirectory>target/fooWebApp/WEB-INF/lib</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
           
          <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.4.1</version>
    <configuration>
     <encoding>UTF-8</encoding>
    </configuration>
                <executions>
                    <execution>
                        <id>copy-resources</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>
                                src/main/webapp/WEB-INF/lib
                            </outputDirectory>
                            <resources>
                                <resource>
                                    <directory>
                                        target/jar
                                    </directory>
                                    <filtering>true</filtering>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
           
  </plugins>
    </build>
</project>

分享到:
评论

相关推荐

    Maven引入本地Jar包并打包进War包中的方法

    "Maven引入本地Jar包并打包进War包中的方法" Maven是一种流行的项目管理工具,主要用于Java项目的构建、测试和部署。在实际开发中,我们经常需要引入本地Jar包以满足项目的需求。本文将介绍Maven引入本地Jar包并...

    maven打包 maven打jar包详细步骤

    在`maven-war-plugin`和`maven-install-plugin`中,`maven-war-plugin`用于将Web应用打包成WAR文件,适合于Web服务器部署。而`maven-install-plugin`则负责将打包后的文件(无论是JAR还是WAR)放入本地Maven仓库,...

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

    maven打包web项目时同时打包为war和jar文件的方法 在Maven项目中,通常情况下,我们只能打包成war文件或jar文件,但是在某些情况下,我们需要同时打包成war和jar文件。今天,我们将介绍如何使用Maven同时打包web...

    maven插件jar

    1. **构建与打包**:Maven 插件支持多种打包类型,如 JAR、WAR 和 EAR 等。在 Eclipse 中,只需在 POM.xml 文件中指定 `&lt;packaging&gt;` 标签为 "jar",Maven 就会将项目打包成 JAR 文件。JAR(Java ARchive)文件是 ...

    Myeclipse maven插件下载

    - Maven插件:Maven拥有丰富的插件库,可以扩展其功能,如`maven-jar-plugin`用于打包jar,`maven-war-plugin`用于打包war等。 - 集成持续集成工具:如Jenkins、Hudson等,可以与Maven完美结合,实现自动化构建和...

    Springboot 打Jar包,Maven完美解决本地Jar包自动打入Springboot Jar包中

    **Maven 插件** 如`spring-boot-maven-plugin`能够实现将Spring Boot应用打包为可执行的Jar或War文件,并且可以配置不同的参数来控制构建行为。例如,指定主类、排除某些依赖等。 ##### 2. 使用Maven安装本地Jar包 ...

    maven 打jar包,source包,并上传到本地maven库

    ### Maven 打包Jar与Source包并上传至本地Maven库 #### Maven打包Jar与Source包概述 在软件开发过程中,Maven作为一种自动化构建工具,极大地简化了项目的构建过程。通过Maven,开发者可以轻松地将Java项目打包...

    Maven build插件之Maven-assembly-plugin自定义打包

    ● 打包成指定格式分发包,支持各种主流的格式如zip、tar.gz、jar和war等,具体打包哪些文件是高度可控的。 ● 能够自定义包含/排除指定的目录或文件。 并附上了学习过程中应注意的细节,以及遇到的问题及解决方法...

    Maven自动升级版本号并打包上传的脚本

    同时,Maven插件如`versions-maven-plugin`和`maven-deploy-plugin`可以帮助我们完成版本升级和部署操作。 2. Maven的版本升级: 使用`versions-maven-plugin`插件,我们可以方便地更新项目及其依赖的版本号。例如...

    maven插件压缩包

    Maven 插件是 Maven 生态系统的重要组成部分,它们扩展了 Maven 的功能,允许开发者执行特定的任务,如编译代码、打包应用、执行测试等。本压缩包提供的是一款 Maven 离线插件,用于在没有网络连接的情况下使用 ...

    spring 扫描jar maven 打包

    标题 "spring 扫描jar maven 打包" 涉及的是在Java开发中,如何使用Spring框架和Maven工具来...在实际工作中,根据项目的具体需求,可能还需要结合其他Maven插件和配置,如处理依赖管理、资源过滤、测试覆盖率报告等。

    Apache Maven插件

    下面将详细阐述Maven插件的核心功能、工作原理以及如何在实际开发中运用。 一、Maven插件核心功能 1. 构建管理:Maven插件可以自动编译源代码、运行测试、打包应用、生成文档等,使得开发者无需手动执行这些繁琐的...

    springboot_jsp_maven(war+jar).rar

    【标题】"springboot_jsp_maven(war+jar)"是一个综合了Spring Boot、JSP和Maven技术的示例项目,旨在展示如何在Spring Boot框架下开发并部署包含Web界面的应用程序。该项目的独特之处在于它同时支持两种常见的部署...

    maven插件打包

    总结,Maven插件打包是Maven构建流程中的核心环节,通过灵活的插件机制和配置,开发者可以高效地管理和构建项目。了解并掌握这些知识点,将有助于提高开发效率和项目的可维护性。在实际工作中,根据项目的具体需求,...

    基于Maven+SVN自动打包

    【自动打包】:自动打包是指通过脚本或工具自动化执行构建过程,将源代码编译、测试并通过打包工具(如Maven的`mvn package`命令)生成可部署的文件(如JAR、WAR)。这大大减少了手动操作的时间,降低了错误率,尤其...

    maven打包war配置

    Maven插件与配置** 打包WAR文件涉及到Maven的`war`插件,我们可以在`&lt;build&gt;`标签内配置它: ```xml &lt;groupId&gt;org.apache.maven.plugins &lt;artifactId&gt;maven-war-plugin &lt;version&gt;3.3.2&lt;/version&gt; &lt;!-- ...

    Maven插件及安装方法

    Maven插件是Maven系统中的重要组成部分,它们是一系列可执行的任务或目标,用于扩展Maven的功能。Maven插件包括但不限于编译、测试、打包、部署等各个阶段的工具。常见的Maven插件有: 1. **maven-compiler-plugin*...

    Maven打包实战.zip

    总结来说,Maven打包实战涵盖了从基本的`pom.xml`配置,到Eclipse中使用Maven插件进行打包,再到处理复杂的打包需求,如生成可执行JAR。通过这个实战教程,你将能够掌握Maven的核心打包技巧,提升项目构建和管理的...

    maven插件及其使用方法

    Maven插件则是Maven生态系统中的一个重要组成部分,它们扩展了Maven的功能,帮助开发者执行特定的任务,如编译、测试、打包、部署等。在本文中,我们将深入探讨Maven插件的使用方法以及如何在实际开发中有效地利用...

    maven项目编译jar包

    通过以上步骤,你就可以使用Maven成功地编译和打包一个Java项目为JAR文件。确保你的环境中已经安装了Maven,并且配置了正确的Maven环境变量,然后按照上述方法操作即可。记住,Maven的强大在于它的标准化和自动化,...

Global site tag (gtag.js) - Google Analytics