maven管理项目,部署项目时,如何统一导出jar包

使用maven-assembly-plugin,配合assembly.xml,会将所有的依赖jar包copy到lib目录下面。

1.在pom.xml文件中添加如下代码:

<build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <!-- not append assembly id in release file name -->
                    <appendAssemblyId>false</appendAssemblyId>
                    <descriptors>
                        <descriptor>src/main/assemble/assembly.xml</descriptor>
                    </descriptors>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

其中<artifactId>maven-assembly-plugin</artifactId>的maven-assembly-plugin是这个插件的标准命名,appendAssemblyId属性控制是否在生成的打包文件的文件名中包含assembly id。
    
    descriptor属性指定maven-assembly-plugin的配置文件。

execution的设置是为了将maven-assembly-plugin继承到标准的maven打包过程中,从而实现我们需要的自定义打包。

2.在assembly.xml中配置信息

<?xml version="1.0" encoding="UTF-8"?>
<assembly
    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
    <id>bin</id>
    <formats>
        <format>jar</format>
    </formats>
    <dependencySets>
        <dependencySet>
            <!-- Define jar file name format, exclude version from file name -->
            <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
            <outputDirectory>lib</outputDirectory>
        </dependencySet>
    </dependencySets>
</assembly>

pom.xml中引入maven-assembly-plugin,然后assemble descriptor file按需设置,最后在eclipse中执行Run As -> Maven package,在target目录下就会出现***.zip文件,里面的格式和要求的完全一致。

时间: 2024-10-10 02:10:43

maven管理项目,部署项目时,如何统一导出jar包的相关文章

使用maven管理后,依然找不到需要的jar包

使用maven管理后,依然报错,找不到,比如如下错误java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 方法如下 1) Open the project's properties (e.g., right-click on the project's name in the project explorer and select "Properties")2) s

基于Maven管理的JavaWeb项目目录结构参考

通常在创建JavaWeb项目时多多少少都会遵循一些既定的比较通用的目录结构,下面分享一张基于Maven管理的JavaWeb项目目录结构参考图: 上图仅是参考,不同项目不同团队都有自己的约定和规范. 个人体会: 项目目录结构一旦约定和规范之后,每个团队成员自我约束和遵守规范才是整个目录结构不随项目的进展而变得越来越不清晰的根本.

jenkins+git+maven搭建自动化部署项目环境

简介    折腾了两个晚上,趁着今晚比较有空,把jenkins+git+maven搭建自动化部署项目环境搭建的过程记录一下,这里我把github作为git的远程仓库(https://github.com/jacky-        lulu/cxf_demo-Maven-Webapp)     系统:centos6.5 maven: Apache Maven 3.3.9 git:git version 2.0.0 1.首先安装git,看以前另外一篇博客 http://www.cnblogs.co

Maven项目导出jar包

在pom.xml所在目录下,执行 mvn dependency:copy-dependencies -DoutputDirectory=lib 还可以设置依赖范围 mvn dependency:copy-dependencies -DoutputDirectory=lib -DincludeScope=compile Maven项目导出jar包

将Java项目打包成可以独立运行的Jar包

因为一直也没怎么用过Java的原因,所以以前本科上课的时候,在控制台下运行Java程序都是仅仅运行单个的没有第三方库依赖的情况下运行的 那种情况特别简单,只要输入Javac 文件名.java等到编译完,再执行java 文件名 直接就可以运行了,但是,在公司实习需要写一个独立的来运行的项目, 并且可能要通过脚本来定时的运行,这样的话,最好是将项目打包成一个Jar包,然后,使用crontab创建一个新的定期运行的作业就可以了. 这样就可以使用java -jar 项目.jar来定时的运行这个任务. 但

转:Maven介绍(创建工程项目以及下载所需要的jar包)

http://blog.csdn.net/guanghua2009/article/details/6644111 目前我还不太会用maven,慢慢学吧 目前就是用来下载自己要的jar包,先根据这篇转载的文章新建一个工程,然后修改pom.xml,然后把cmd拷贝到maven新建的工程的根目录下,运行命令:mvn compile,就会下载你想要的jar包,或者直接运行mvn package,你就能得到一个war包,把里面WEB-INF/lib的jar包拷贝出来就是你想要的了 至于maven下载下来

Java项目切换maven编译时出现大量重复jar包

最近公司的项目准备使用maven,切换倒很简单,但是编译时却发现一个很怪异的现象,就是POM中并未配置的jar包或者未配置该版本的jar包还是出现在了lib文件夹下,一开始以为是exclusions没设置好,但经过反复试验发现不能完全解决问题,有些属于项目组自定义的jar包也有多个版本,而且有些电脑上编译却没有问题,于是想到是不是本地maven仓库坏了,删除重新下载,也不行,后来偶然看到一篇帖子说是因为同一个文件夹下有重名项目导致maven会优先引用该项目(我的项目使用git管理,在git文件夹

maven自动化:部署项目到tomcat

1. tomcat中配置用户 tomcat_home/conf/tomcat-users.xml配置文件中,添加如下信息: |-- tomcat-users.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <role rolename="manager-gui"/> <user username

【Maven】Maven之如何部署项目生成的Maven构建到远程仓库

一. 首先,需要编辑项目的pom.xml文件,配置distributionManagement元素 <distributionManagement> <repository> <id>proj-releases</id> <name>Proj Release Repository</name> <url>http://192.168.1.100/content/repositories/proj-releases</