Maven工作分为多个阶段,具体阶段参考:https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html ; Maven 采用了一组可靠的插件来提供它的所有功能.在 Maven 中,插件拥有目标,在幕后,这些目标可以绑定在Maven的各个阶段起作用! 因此在配置插件时候就可以配置一些阶段的细节: <build> <pluginManagement> <plugins> <…
1.POM文件添加jar包生成插件 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.0.2</version> <configuration> <archive> <manifest> <mainClass>${m…
1. 在 dubbo 的 provider 项目(实现类项目dubbo-service-impl)中 pom.xml 配置 assembly插件信息 <!-- 指定项目的打包插件信息 --> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <!-- 指定打包描述文件的位置:相对项目根目录 的路径 --> <!-- assembly 打…
<build> <plugins> <!-- springboot maven打包--> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins></build>…
如何把依赖的jar包中的资源抽到当前jar中 maven-compiler-plugin:编译插件,可指定资源jdk版本,前提是当前代码使用的jdk版本 大于或等于 source maven-assembly-plugin:组装插件,这个插件功能很多,可以直接生成可执行jar,这里仅用来抽取依赖jar中的资源到当前jar包 (jar-with-dependencies) maven-shade-plugin:配合maven-assembly-plugin插件jar-with-dependenci…
maven-jar-plugin插件的使用及详解 该插件的xml配置及详解如下: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <archive> <!-- 生成的jar中,…
1.打包成bat 打包命令:mvn clean package appassembler:assemble <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>appassembler-maven-plugin</artifactId> <version>1.2.1</version> <configuration> <!-- 生成linux…
作用: 1.可以把依赖打入jar包,然后直接使用这个jar包,从而不用担心依赖问题 2.通过设置MainClass,创建一个可以执行的jar包 3.Java工程经常会遇到第三方 Jar 包冲突,使用 maven shade plugin 可以解决 jar 或类的多版本冲突. maven-shade-plugin 在打包时,可以将项目中依赖的 jar 包中的一些类文件打包到项目构建生成的 jar 包中,在打包的时候把类重命名 3.Resource Transformers可以对多个依赖包的冲突内容…
jar包的术语背景: normal jar: 普通的jar,用于项目依赖引入,不能通过java -jar xx.jar执行,一般不包含其它依赖的jar包. fat jar: 也叫做uber jar,是一种可执行的jar(executable jar),既包含自己代码中的class ,也包含第三方依赖的jar. 不可执行,但包含第三方依赖的jar包,避免生成的jar与第三方引入后出现依赖版本冲突. POM文件中的内置属性(Maven预定义可以直接使用): ${basedir} 项目根目录 ${ve…
  SpringCloud微服务包含多个SpringBoot可运行的应用程序,在单应用程序下,版本发布时的打包部署还相对简单,当有多个应用程序的微服务发布部署时,原先的单应用程序部署方式就会显得复杂且不可控.那么我们就会思考使用简单的部署方式,解决自动化发布.自动化部署.微服务监控等问题.   我们使用目前行业通用的解决方案,Jenkins+GitLab+Maven+Docker+Kubernetes来实现可持续自动化部署微服务的功能.下面将从工程中Maven打包文件配置.Dockfile文件编…
方法一(pom文件指定jar包目录进行引入) 1.将需要手动引入的包放在项目目录下,如lib目录下: 修改pom文件,引入依赖并且将scope设置为system 2.同时配置maven打包插件 方法二(将jar包安装至本地仓库后使用pom文件直接引入) 1.将需要引入的jar包安装到本地maven仓库中: 然后使用一般方法引入依赖即可 2.先进入需要引入jar目录下,执行以下命令: mvn install:install-file -Dfile=chainsql-1.4.5.jar -Dgrou…
原文:https://blog.csdn.net/duan9421/article/details/79086335 我们在日常开发工作中通常会根据不同的项目运行环境,添加不同的配置文件,例如 开发环境,测试环境,生产环境等,每次手工的修改配置文件太过于繁琐.通过maven打包时确定需要使用的配置文件可以很好的解决这个问题. 下面看一下代码目录 application-dev.properties对应开发环境 application-test.properties对应测试环境 applicati…
Java Web/Eclipse/Maven/Tomcat 最近有个新项目是java web项目,记录一下,可能比较乱.虽然没接触过Java,但是eclipse还是用过的 初识项目 同事说,项目是maven打包的,可以用maven开启服务,我就研究了一下,由于项目不能外露,我先创建一个demo的项目. 用eclipse 创建 Maven web项目 打开eclipse File->New->Maven Project.如果默认列表中没有Maven Project 选择 Other... 如下图…
构建war包,或者jar包的,时候,maven会自动增加一个版本号和时间放在jar包后面比如poi-3.9-20131115.jar这样子,但是我自己打war包,总是给我生成一个快照的后缀report-0.0.1-SNAPSHOT.war这个样子,所以我想干掉这个后缀,或者说我什么都不用,那么本篇教程围绕3个问题展开. 1.后缀什么都不加,需要在build节点下跟上一个<finalName>节点即可.生成的war包或者jar包不含任何杂余. 打包结果:report.war <build&…
1.maven插件wagon-maven-plugin自动部署远程Linux服务器  (http://xxgblog.com/2015/10/23/wagon-maven-plugin/) <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>wagon-maven-plugin</artifactId> <version>1.0</version> <c…
1 maven项目打包的插件有3种 maven-jar-plugin maven-assembly-plugin maven-shade-plugin 2 maven-jar-plugin 现在要新增一个Premain-Class属性,配置如下: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compil…
maven打包需要设置main-class的插件写法 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>1.2.1</version> <executions> <execution&g…
解决方式: 方式1:使用 mvn clean package -U 打包即可(注意:出于性能原因,Maven缓存插件无法下载的信息.根据您的设置,您可能需要通过将标志添加-U到命令行来清除此缓存,以使更正生效) 方式2:  在setting.xml中使用原始中央仓库  就是使用默认的仓库地址…
<!--打包插件 --><plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.4.1</version> <configuration> <!-- get all project dependencies --> <…
今天在做storm on maven的时候发现要依赖到storm-hdfs的jar.自己又非常不想把乱七八糟的东西丢上自己的集群lib.于是就想maven 打包的时候把插件一块打包进jar.maven默认自己不会打包进jar,我只要把自己需要的打包进去就好了. 走了不少弯路,现在记录一把,防止以后自己用到: 我的pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www…
文章目录: Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):1.JIRA账号注册 Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):2.PGP下载安装与密钥生成发布 Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):3.Maven独立插件安装与settings.xml配置 Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):4.Maven项目pom.xml配置与执行 Taurus.MV…
参考资料:http://my.oschina.net/zh119893/blog/276090 我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成. 例如编译源代码是由maven-compiler-plugin完成的. 进一步说,每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标. 例如maven-compiler-plugin的compile目标用来编译位于src/main/java/目录下的主源码,testCompil…
常用插件配置详解Java代码    <!-- 全局属性配置 --> <properties> <project.build.name>tools</project.build.name> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> project.build.name:  用来定义war包名称  proje…
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标,例如maven- compiler-plugin的compile目标用来编译位于src/main/java/目录下的主源码,testCompile目标用来编译位于src/test/java/目录下的测试源码. 用户可以通过两种方式调用Mave…
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应了一个插件目标(goal),每个插件会有一个或者多个目标,例如maven- compiler-plugin的compile目标用来编译位于src/main/Java/目录下的主源码,testCompile目标用来编译位于src/test/java/目录下的测试源码. 用户可以通过两种方式调用Mave…
http://www.infoq.com/cn/news/2011/06/xxb-maven-9-package/ "打包"这个词听起来比较土,比较正式的说法应该是"构建项目软件包",具体说就是将项目中的各种文件,比如源代码.编译生成的字节码.配置文件.文档,按照规范的格式生成归档,最常见的当然就是JAR包和WAR包了,复杂点的例子是Maven官方下载页面的分发包,它有自定义的格式,方便用户直接解压后就在命令行使用.作为一款"打包工具",Mave…
spring boot 入门 关于版本的选择,spring boot 2.0开始依赖于 Spring Framework 5.1.0,而spring 5.x和之前的版本差距比较大,而且应该来说还没有广泛的使用,所以生产中,一般来说目前还是建议使用spring boot 1.x,目前最新版本是1.5.9,官方手册https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/pdf/spring-boot-reference.pdf.…
背景 由于版权问题,maven中央仓库缺少oracle jdbc的驱动,这个给开发带来了很多不便利性.也出现各种各样的解决方案,基本就两种思路: 将oracle驱动安装到本地仓库,这个需要大家统一好名称和版本 使用第三方仓库 不管哪种方案,本来maven就是为了方便开发人员管理包依赖,这样一来反而更麻烦.当然,不是maven的错,oracle这事做的确实够sb.(听说oracle要对java进行收费???)那么有没有更好的方案,假设你现在开发了一个框架,框架支持多数据库,并且已经将jar包提交至…
今天有人问我打包后找不到主类,运行的类写在test中.按照常规,test目录下的文件不会打包到jar包中.(但是我测试一个springboot工程就可以,这里之后再研究) 具体解决如下 第一步:在pom文件中引入Maven Assembly Plugin插件 (注意:如果含有其他打包插件,最好先排除掉干扰) 1 <plugin> 2 <artifactId>maven-assembly-plugin</artifactId> 3 <version>2.3&l…
有时候由于代码中注释错误(比如方法参数)或者maven javadoc插件版本有问题,导致打包报错,而我们着急打包验证问题,没有时间一一修改错误,这时候可以先跳过生成javadoc,继续下一步工作.   命令:mvn clean package -Dmaven.javadoc.skip=true…