首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将依赖项的测试jar包含到Maven项目的部署中?

在Maven项目中,将依赖项的测试jar包含到部署中,可以通过以下步骤实现:

  1. 在项目的pom.xml文件中,添加以下插件: <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.1.2</version> <executions> <execution> <id>unpack-dependencies</id> <phase>package</phase> <goals> <goal>unpack-dependencies</goal> </goals> <configuration> <includeScope>test</includeScope> <excludeGroupIds>junit,org.mockito,org.powermock</excludeGroupIds> <outputDirectory>${project.build.directory}/test-jars</outputDirectory> </configuration> </execution> </executions> </plugin> </plugins> </build>这个插件会将所有测试依赖项解压到${project.build.directory}/test-jars目录下。
  2. 在项目的pom.xml文件中,添加以下插件: <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <classifier>test</classifier> <includes> <include>**/*</include> </includes> <excludes> <exclude>**/*</exclude> </excludes> <outputDirectory>${project.build.directory}/test-jars</outputDirectory> </configuration> <executions> <execution> <goals> <goal>test-jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build>这个插件会将所有测试类打包成一个test-jar,并将其放在${project.build.directory}/test-jars目录下。
  3. 在项目的pom.xml文件中,添加以下插件: <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.3.0</version> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>com.example.Main</mainClass> </manifest> </archive> <outputDirectory>${project.build.directory}/test-jars</outputDirectory> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>这个插件会将所有依赖项打包成一个jar文件,并将其放在${project.build.directory}/test-jars目录下。
  4. 运行以下命令,将所有测试jar包含到部署中:mvn clean package这个命令会将所有测试jar包打包到项目的target目录下。

通过以上步骤,您可以将依赖项的测试jar包含到Maven项目的部署中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

maven: 打包可运行的jar包(java application)及依赖项处理

类,然后用mvn exec:exec来运行,但是部署到生产环境中时,服务器上通常并不具备maven环境,只能用 java -jar xxx.jar这种方式来运行,下面是一些处理细节: 一、依赖项的处理...=target/lib 命令,把依赖的jar包全部导出到target/lib这个目录下 二、利用maven-jar-plugin修改META-INF\MANIFEST.MF 清单文件 java application...其中第4行指定了classpath,也就是所依赖的jar包在什么地方,第6行表示main函数的入口类,默认情况下mvn clean package生成的jar包里,清单文件上并没有这2行,需要在pom.xml...中添加插件 1 2 org.apache.maven.plugins 3 maven-jar-plugin...,这样mvn package后,清单文件里就会自动添加Main-Class和Class-Path这二项 ok了,部署时把jar包和lib目录,都上传到服务器上 ,然后测试一下,顺利的话 java -jar

2.1K90
  • Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图「建议收藏」

    一般单我们在 pom.xml 添加了依赖包或是插件的时候,发现标注 4 的依赖区中没有看到最新写的依赖的话,可以尝试点击此按钮进行项目的重新载入。...第九个按钮:Show Dependencies 显示项目依赖的结构图,可以方便我们直观项目的依赖包情况。这个功能有些具体的操作下面会专门进行讲解。...如上图标注 2 所示,常用的 Maven 生命周期的命令,通过双击对应的命令来执行项目编译、打包、部署等操作。...如上图标注 5 所示,为常见的 Java Web 在 Maven 下的一个项目结构。 大致了解过后,看怎么查看所有jar包的依赖关系。 2017.2.6版本之后,这个图标的样子变啦。...点完之后就会有下图 可以看到,这个maven项目的所有jar包依赖关系,一览无余。 为什么我的这个jar包依赖这么少呢,因为我这个项目只是简单示范了一下springmvc框架的使用。

    13.4K50

    微服务的集成测试 | 微服务系列第八篇

    使用Shrinkwrap库来构建此可部署的WAR文件。 Shrinkwrap提供了一个API,允许在启动测试容器之前创建可部署包作为集成测试的一部分。...如果项目使用Maven来管理其依赖项,那么这个带注释的方法必须使用Maven.resolver静态方法来读取项目的pom.xml文件,并发现应用程序运行所需的所有外部JAR依赖项。...要实现此目的,请使用addPackages方法将项目中运行测试所需的包和类添加到WAR文件中。...接下来,使用addAsLibraries方法将从Maven下载的依赖项列表包含在最终文件中。...3 使用@Deployment注释负责捆绑应用程序的方法。 4 获取当前项目的所有API依赖项。 五 创建Web归档(WAR)文件。 6 包括项目中的所有类和包。

    2.9K40

    Maven教程,一篇带你走入“内行”!

    基于项目对象模型(缩写: POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven 是一个项 目管理工具,可以对 Java 项目进行构建、依赖管理。...一,分布式 传统项目部署: 1.新建一个项目,通过不同的包区分不同的模块 2.把这一个项目发布服务器的 tomcat 中 分布式项目部署(适用于高负载情况下) 1.把一个完整的项目拆分成多个项目,把拆分后的项目分别部署到对应的服务器...( tomcat )中的过程就叫做分布式项目部署 2.把传统项目包换成一个单独的项目 二,Ant Ant 和 Maven 都是项目构建工具 在项目的运行编辑打包等过程都需要依赖于 Ant 构建工 eclipse...写测试 java 代码(无关紧要) src/test/resources :测试的配置文件夹(无关紧要) pom.xml:Maven 的配置文件 当前项目所依赖的其他项目或 jar 或插件等 注意:无论是...中添加 javaee 相关的三个 jar (基础的 web 包) jar有效范围 provided 表示编译期生效,不会打包发布到 tomcat 中,因为 tomcat 中默认 有,打包过去的话会有冲突

    1.1K20

    MAVEN之pom文件的快速应用

    MAVEN依赖关系中Scope的作用 Dependency Scope 在POM4中 中还引入了,它主要管理依赖的部署。...目前依赖项的作用域可以使用5个值: 在定义项目的依赖项的时候,我们可以通过scope来指定该依赖项的作用范围。...这种类型的依赖项将在运行和test的类路径下可以访问。 test:表示该依赖项只对测试时有用,包括测试代码的编译和运行,对于正常的项目运行是没有影响的。...provided:表示该依赖项将由JDK或者运行容器在运行时提供,也就是说由Maven提供的该依赖项我们只有在 编译和测试时才会用到,而在运行时将由JDK或者运行容器提供。...MAVEN如何打可执行的JAR包 前提条件:已成功将待引入的jar包安装到本地repository中 方法一、使用maven-shade-plugin插件打可执行的jar包 插件查找链接:http

    1.2K20

    <Spring前传:Maven项目管理工具>

    基于POM(Project Object Model,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告和文档的项⽬管理工具软件。...install 编译、测试、打包,并将构建好的jar/war包安装到本地 Maven 仓库。工作中常用来发布包到本地。 deploy 编译、测试、打包,并将构建的工件部署到远程 Maven 仓库。...pom.xml就是maven的配置⽂件,用以描述项⽬的各种信息 如下图,在文件目录中找到pom.xml文件 依赖配置 依赖:指当前项⽬运⾏所需要的jar包....是mysql还需要依赖的别的jar包 第二个则是我们添加的 我们发现Maven依赖不仅把当前的jar包依赖进行,还把这个jar包依赖的jar包依赖进来到项目之中 Maven对我们进行的依赖管理,会把当前依赖的依赖也会引入到当前项目中...因为公司可能不让用Maven的阿里云镜像地址等等。。 这样setting文件里会包含公司的私服账号地址密码等等信息 在设置中,找到构建、执行、部署。中构建工具中有Maven项。

    17810

    Apache Maven 最全教程,7000 字总结!

    借助于maven就可以将一个项目拆分成多个工程 ② 项目中使用jar包,需要“复制”、“粘贴”项目的lib中 同样的jar包重复的出现在不同的项目工程中,你需要做不停的复制粘贴的重复工作。...③ jar包需要的时候每次都要自己准备好或到官网下载 借助于maven我们可以使用统一的规范方式下载jar包,规范 ④ jar包版本不一致的风险 不同的项目在使用jar包的时候,有可能会导致各个项目的jar...到第一个maven工程中执行 mvn install后,你再去看一下本地仓库,你会发现有了Hello项目的jar包。...**2、provided,**只在开发、测试阶段使用,目的是不让Servlet容器和你本地仓库的jar包冲突 。如servlet.jar。...在Eclipse中,为JavaMavenService2中增加了一个spring-core.jar包后,会惊喜的发现依赖的两个项目都自动的增加了这个jar包,这就是依赖的传递性。

    1.4K40

    可能是最详细的 Maven 教程

    借助于maven就可以将一个项目拆分成多个工程 ② 项目中使用jar包,需要“复制”、“粘贴”项目的lib中 同样的jar包重复的出现在不同的项目工程中,你需要做不停的复制粘贴的重复工作。...:测试程序执行的结果 打包package:动态Web工程打War包,java工程打jar包 安装install:Maven特定的概念-----将打包得到的文件复制到“仓库”中的指定位置 部署deploy...到第一个maven工程中执行 mvn install后,你再去看一下本地仓库,你会发现有了Hello项目的jar包。...2、provided,只在开发、测试阶段使用,目的是不让Servlet容器和你本地仓库的jar包冲突 。如servlet.jar。...在Eclipse中,为JavaMavenService2中增加了一个spring-core.jar包后,会惊喜的发现依赖的两个项目都自动的增加了这个jar包,这就是依赖的传递性。

    1.1K20

    看了必懂的Maven最全教程!!!

    借助于maven就可以将一个项目拆分成多个工程 ② 项目中使用jar包,需要“复制”、“粘贴”项目的lib中 同样的jar包重复的出现在不同的项目工程中,你需要做不停的复制粘贴的重复工作。...:测试程序执行的结果 打包package:动态Web工程打War包,java工程打jar包 安装install:Maven特定的概念-----将打包得到的文件复制到“仓库”中的指定位置 部署deploy...到第一个maven工程中执行 mvn install后,你再去看一下本地仓库,你会发现有了Hello项目的jar包。...2、provided,只在开发、测试阶段使用,目的是不让Servlet容器和你本地仓库的jar包冲突 。如servlet.jar。...在Eclipse中,为JavaMavenService2中增加了一个spring-core.jar包后,会惊喜的发现依赖的两个项目都自动的增加了这个jar包,这就是依赖的传递性。

    1.2K20

    Maven史上最全教程,看了必懂

    借助于maven就可以将一个项目拆分成多个工程 ② 项目中使用jar包,需要“复制”、“粘贴”项目的lib中 同样的jar包重复的出现在不同的项目工程中,你需要做不停的复制粘贴的重复工作。...③ jar包需要的时候每次都要自己准备好或到官网下载 借助于maven我们可以使用统一的规范方式下载jar包,规范 ④ jar包版本不一致的风险 不同的项目在使用jar包的时候,有可能会导致各个项目的jar...jar包 1、对于本地仓库中没有的会去中央仓库去查找maven坐标来获取jar包,获取到jar之后会下载到本地仓库 2、对于中央仓库也找不到依赖的jar包的时候,就会编译失败了 ② 如果依赖的是自己或者团队开发的...到第一个maven工程中执行 mvn install后,你再去看一下本地仓库,你会发现有了Hello项目的jar包 一旦本地仓库有了依赖的maven工程的jar包后,你再到HelloFriend项目中使用...在Eclipse中,为JavaMavenService2中增加了一个spring-core.jar包后,会惊喜的发现依赖的两个项目都自动的增加了这个jar包 这就是依赖的传递性。

    1.8K20

    Maven最全最细教程

    借助于maven就可以将一个项目拆分成多个工程 ② 项目中使用jar包,需要“复制”、“粘贴”项目的lib中 同样的jar包重复的出现在不同的项目工程中,你需要做不停的复制粘贴的重复工作。...③ jar包需要的时候每次都要自己准备好或到官网下载 借助于maven我们可以使用统一的规范方式下载jar包,规范 ④ jar包版本不一致的风险 不同的项目在使用jar包的时候,有可能会导致各个项目的jar...jar包 1、对于本地仓库中没有的会去中央仓库去查找maven坐标来获取jar包,获取到jar之后会下载到本地仓库 2、对于中央仓库也找不到依赖的jar包的时候,就会编译失败了 ② 如果依赖的是自己或者团队开发的...到第一个maven工程中执行 mvn install后,你再去看一下本地仓库,你会发现有了Hello项目的jar包 一旦本地仓库有了依赖的maven工程的jar包后,你再到HelloFriend项目中使用...在Eclipse中,为JavaMavenService2中增加了一个spring-core.jar包后,会惊喜的发现依赖的两个项目都自动的增加了这个jar包 这就是依赖的传递性。

    81020

    Maven 最全教程,看了必懂,99% 的人都收藏了!

    借助于maven就可以将一个项目拆分成多个工程 ② 项目中使用jar包,需要“复制”、“粘贴”项目的lib中 同样的jar包重复的出现在不同的项目工程中,你需要做不停的复制粘贴的重复工作。...工程打War包,java工程打jar包 安装install:Maven特定的概念-----将打包得到的文件复制到“仓库”中的指定位置 部署deploy:将动态Web工程生成的war包复制到Servlet...到第一个maven工程中执行 mvn install后,你再去看一下本地仓库,你会发现有了Hello项目的jar包。...2、provided, 只在开发、测试阶段使用,目的是不让Servlet容器和你本地仓库的jar包冲突 。如servlet.jar。...项目依赖JavaMavenService2 pom.xml文件配置好依赖关系后,必须首先mvn install后,依赖的jar包才能使用。

    1.4K30

    程序员的31大Maven面试问题及答案

    生命周期 10.Maven命令 11.依赖的解析机制 12.创建Maven的普通Java项目 13.创建 Maven 的 Web 项目 14.反向生成 maven 项目的骨架 15.编译源代码 16.编译测试代码...,如只打包不测试 24.编译测试的内容 25.只打 jar 包 26.只测试而不编译,也不测试编译 27.清除 eclipse 的一些系统设置 28.查找当前项目已被解析的依赖 29.上传到私服 30....使用 maven,可以很方便的对项目进行分模块构建,这样在开发和测试打包部署时,效率会提高很多。 其次,Maven 可以进行依赖的管理。...它只在编译和测试类路径上可用,不可传递。 runtime:此范围表示编译不需要依赖项,但需要执行依赖项。它在运行时和测试类路径中,但不在编译类路径中。...mvn clean package -Dmaven.test.skip=true:清除以前的包后重新打包,跳过测试 11.依赖的解析机制 当依赖的范围是 system 的时候,Maven 直接从本地文件系统中解析构件

    24220

    全网最详细的 Maven 教程!

    借助于maven就可以将一个项目拆分成多个工程 ② 项目中使用jar包,需要“复制”、“粘贴”项目的lib中 同样的jar包重复的出现在不同的项目工程中,你需要做不停的复制粘贴的重复工作。...③ jar包需要的时候每次都要自己准备好或到官网下载 借助于maven我们可以使用统一的规范方式下载jar包,规范 ④ jar包版本不一致的风险 不同的项目在使用jar包的时候,有可能会导致各个项目的jar...package:动态Web工程打War包,java工程打jar包 安装install:Maven特定的概念-----将打包得到的文件复制到“仓库”中的指定位置 部署deploy:将动态Web工程生成的war...到第一个maven工程中执行 mvn install后,你再去看一下本地仓库,你会发现有了Hello项目的jar包。...2、provided, 只在开发、测试阶段使用,目的是不让Servlet容器和你本地仓库的jar包冲突 。如servlet.jar。

    1.1K20

    Idea操作Maven超级详细使用 基础篇:

    部署至服务器中… Maven就是一款帮助程序员构建项目的工具,我们只需要告诉Maven需要哪些Jar 包, 它会帮助我们 下载/提供 所有的Jar,极大提升开发效率。...传统的 WEB 项目中,我们必须将工程所依赖的 jar 包复制到工程中,导致了工程的变得很大。 那么maven 工程是如何使得工程变得很少呢?...Maven中仓库分为三类: 本地仓库: 存放在本地服务器中,当运行项目的时候,maven会自动根据配置文件查找本地仓库,再从本地仓库中调用jar包使用。...可以这么说,我们需要的包一切来源都是中央仓库,并不需要担心没有jar包。 一键构建 项目从编译、测试、运行、打包、安装、 部署整个过程都交给 maven进行管理,这个过程称为构建。...~ 运行测试:使用Maven进行一键构建 我们可以直接在cmd中通过一系列的maven命令: 来对我们的MavenWSM工程进行: 清理 编译、测试、运行、打包、安装、部署。

    44510

    maven 学习总结

    –mvn test:运行应用程序中的单元测试 –mvn package:依据项目生成jar文件,以备依赖此项目时使用 –mvn install:将项目的jar文件添加到库中, –mvn site:生成项目相关信息的网站...test,使用已编译的测试代码,测试已编译的源代码。  package,已发布的格式,如jar,将已编译的源代码打包。  integration-test,在集成测试可以运行的环境中处理和发布包。  ...7、依赖管理 为了给项目添加一个依赖项,必须将此依赖项添加到pom.xml文件中。下次运行Maven的时候,它将从Ibiblio存储库中得到这个依赖项,并且将此依赖项添加到项目构建路径中。...首先我们必须从Sun的站点上下载此jar包,接着我们使用Maven将它导入本地的存储库中。您自己也可以按照 Maven上传资源指南中的指导将缺少的jar包安装到Ibiblio中。...包,所以需要将这些jar包声明为依赖项。

    1.8K50

    【Maven】你好,Maven >>> 与Maven的初次见面~

    测试:运行提前准备好的测试程序。 报告:针对刚才测试的结果生成一个全面的信息。 打包:         - Java工程: jar包。         ...部署:         - 部署 jar包:把 jar包部署到Nexus私服服务器上。         - 部署 war包:借助相关的Maven插件,将 war包部署到Tomcat服务器上。...---- ⚪依赖 概念: 如果工程A中使用到了工程B中的类、接口配置文件等资源,那么我们就可以说A依赖B,简单来讲就是jar包与jar包之间的相互依赖。...依赖管理中需要完成的事情: jar 包的下载:使用Maven以后, jar包会从规范的远程仓库下载带本地。 jar 包间的依赖:通过依赖的传递性自动完成。...Maven 能够发布单个输出,例如 JAR、包含其他依赖项和文档的存档,或作为源代码分发。 依赖关系管理:Maven鼓励使用JAR和其他依赖关系的中央存储库。

    1.3K30
    领券