iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >Maven项目怎么打包
  • 137
分享到

Maven项目怎么打包

2024-04-02 19:04:59 137人浏览 泡泡鱼
摘要

这篇文章主要介绍了Maven项目怎么打包的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Maven项目怎么打包文章都会有所收获,下面我们一起来看看吧。使用maven,制作jar文

这篇文章主要介绍了Maven项目怎么打包的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Maven项目怎么打包文章都会有所收获,下面我们一起来看看吧。

使用maven,制作jar文件、war文件、ear文件等非常简单。Maven 支持非常大的内置打包列表。此外,它可以在 maven 中定义用户定义的包装。让我们在这篇文章中了解有关 Maven 打包的所有信息。

Maven 支持构建打包,如jar, ear, war...等。在 Maven 中,构建什么是由打包属性决定的。它是在<packaging></packaging>标签之间定义的。如果 pom.xml 中没有打包标签,那么默认情况下它会将打包类型视为 jar。

<project><modelVersion>4.0.0</modelVersion><groupId>com.lici.maven</groupId><artifactId>maven-packaging</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging></project>

Maven 支持哪些封装?

让我们看看maven核心支持哪些封装。

jar:这是默认的打包方式,这个打包方式是用来构建jar文件的。

war:这个包装有助于创建一个网络存档文件。它用于创建 WEB 应用程序。

ear:此打包用于创建企业归档文件(ear)。ear 支持创建 j2ee 应用程序,即 EJB 支持,JMS对 ear 文件的支持。最后,ear 文件仅在 glassfish 或 JBoss 等应用服务器上运行。

pom:此包装用于子模块实现。包装 pom 主要意味着没有主要的人工制品。

maven-plugin:用于创建maven插件

ejb:用于封装EJB模块。

rar:用于创建资源适配器存档(RAR)文件。在 RAR 文件中,它包含带有实现类的 jar 文件和一个 META-INF 文件夹,其中包含服务器特定的部署描述符和 ra.xml 文件,它是 rar 配置文件。

在外部插件和项目的帮助下,maven 支持许多额外的包装。SWF,SWC包装是其中少数。

如何在 Maven 中创建自定义包装?

接下来,让我们继续看看如何使用 maven 创建自定义包装。

在此之前,要了解 maven 自定义打包,需要对 maven 生命周期有一个很好的了解。

现在让我们开始我们的新包创建编码。

首先,我们需要为我们的新打包创建一个插件项目,并在其上添加maven插件创建依赖项。

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.lici.maven</groupId>
	<artifactId>maven-anish-package</artifactId>
	<version>1.0</version>
	<packaging>maven-plugin</packaging>
	<properties>
		<maven.compiler.target>1.8</maven.compiler.target>
		<maven.compiler.source>1.8</maven.compiler.source>
		<mavenFileManagementVersion>3.0.0</mavenFileManagementVersion>
		<mavenArcHiverVersion>3.5.0</mavenArchiverVersion>
		<mavenVersion>3.1.0</mavenVersion>
		<javaVersion>7</javaVersion>
	</properties>
	<dependencies>
    <!-- all dependencies infORMation -->
	</dependencies></project>

我们的插件项目的 pom.xml 已经准备好了。

让我们继续下一步,我们知道它为每个打包创建一个单独的生命周期,它在META-INF/plexus/components.xml文件中定义。

在我们的例子中,我们正在创建名为“ anish ”的新包装。'anish'打包实现的 components.xml如下所示。

<?xml version="1.0"?><!DOCTYPE component-set><component-set>
	<components>
		<component>
			<role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
			<role-hint>anish</role-hint>
			<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping			</implementation>
			<configuration>
				<phases>
					<process-resources>
						org.apache.maven.plugins:maven-resources-plugin:2.6:resources					</process-resources>
					<compile>
						org.apache.maven.plugins:maven-compiler-plugin:3.1:compile					</compile>
					<process-test-resources>
						org.apache.maven.plugins:maven-resources-plugin:2.6:testResources					</process-test-resources>
					<test-compile>
						org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile					</test-compile>
					<test>
						org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test					</test>
					<package>
						com.lici.maven:maven-anish-package:1.0:anish					</package>
					<install>
						org.apache.maven.plugins:maven-install-plugin:2.4:install					</install>
					<deploy>
						org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy					</deploy>
				</phases>
			</configuration>
		</component>
		<component>
			<role>org.apache.maven.artifact.handler.ArtifactHandler</role>
			<role-hint>anish</role-hint>
			<implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
			<configuration>
				<type>anish</type>
				<language>java</language>
				<addedToClasspath>true</addedToClasspath>
			</configuration>
		</component>
	</components></component-set>

在上面的components.xml中,它包含了除了打包阶段之外的所有 jar 打包阶段。它使用自定义实现的打包阶段。

<package> com.lici.maven:maven-anish-package:1.0:anish 
</package>

这里的阶段定义com.lici.maven:maven-anish-package:1.0显示了插件项目的groupId:artifactId:version。最后一个值anish是创建的 mojo bean 名称,它是使用 @Mojo Annotation 创建的。

所以我们创造了我们的新包装。

接下来,让我们将包应用到一个新的 maven 项目上。所以创建了一个新项目,它的 pom.xml 如下所示。

<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.lici.maven</groupId>
  <artifactId>maven-packaging</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>anish</packaging>
  <build>
    <plugins>
      <plugin>
        <groupId>com.lici.maven</groupId>
        <artifactId>maven-anish-package</artifactId>
        <version>1.0</version>
        <!--declare that this plugin contributes the component extensions-->
        <extensions>true</extensions>
      </plugin>
    </plugins>
  </build> </project>

Maven不知道我们新创建的包装。所以我们需要通过使用插件标签来告诉我们新创建的包装。在插件内部,我们将扩展标志定义为 truetrue<extensions>true</extensions>.如果您正在创建新包装,则扩展标志应设置为 true。

添加插件后,可以将打包称为anishanish<packaging>anish</packaging>.在构建执行中,输出基于anish打包配置创建。

关于“Maven项目怎么打包”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Maven项目怎么打包”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网html频道。

--结束END--

本文标题: Maven项目怎么打包

本文链接: https://www.lsjlt.com/news/98920.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Maven项目怎么打包
    这篇文章主要介绍了Maven项目怎么打包的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Maven项目怎么打包文章都会有所收获,下面我们一起来看看吧。使用maven,制作jar文...
    99+
    2022-10-19
  • IDEA中MAVEN项目如何打包JAR包
    这篇文章主要为大家展示了“IDEA中MAVEN项目如何打包JAR包”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“IDEA中MAVEN项目如何打包JAR包”这篇文章吧。Idea中为一般的非Web项...
    99+
    2023-05-30
    idea maven jar
  • maven 打包项目的几种方式
    目录方法一:使用maven-jar-plugin和maven-dependency-plugin插件打包方法二:使用maven-assembly-plugin插件打包方法三:使用ma...
    99+
    2022-11-12
  • 如何使用eclipse打包Maven项目
    小编给大家分享一下如何使用eclipse打包Maven项目,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Maven中最重要的是POM文件,其打包也是基于该文件的,...
    99+
    2023-06-29
  • Maven项目如何用Assembly打包可执行jar包
    这篇文章主要介绍“Maven项目如何用Assembly打包可执行jar包”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Maven项目如何用Assembly打包可执行jar包”文章能帮助大家解决问题。...
    99+
    2023-07-05
  • maven项目打包上传到私有仓库
    目录1. 背景2. 步骤2.1 修改pom.xml2.2 命令执行2.3 成功后的依赖3. 扩展1. 背景   最近有些自己制作的工具包,需要单独抽取出来之后...
    99+
    2022-11-12
  • pycharm怎么打包项目
    在PyCharm中打包项目可以通过以下步骤进行:1. 打开PyCharm,选择要打包的项目。2. 在菜单栏中选择“File” -> ...
    99+
    2023-08-18
    pycharm
  • Maven 项目用Assembly打包可执行jar包的方法
    目录1、添加maven插件2、mvn clean(清理下项目)3、maven update project(用eclipse工具)4、命令后执行命令mvn assembly:asse...
    99+
    2023-03-01
    Maven打包可执行jar包 Maven Assembly打包
  • 怎么使用maven将项目的test代码打包进jar中
    这篇文章给大家分享的是有关怎么使用maven将项目的test代码打包进jar中的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。maven将项目的test代码打包进jar中项目结构如下&hellip;/src...
    99+
    2023-06-29
  • 使用eclipse打包Maven项目的实现步骤
    Maven中最重要的是POM文件,其打包也是基于该文件的,在POM文件中配置插件,可以实现将Maven项目打包成可执行jar包 依赖如下: <build> <p...
    99+
    2022-11-13
  • maven springboot怎么将jar包打包到指定目录
    这篇文章将为大家详细讲解有关maven springboot怎么将jar包打包到指定目录,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。如何将jar包打包到指定目录1.目的将不常用的比如sprin...
    99+
    2023-06-22
  • 如何在Java项目中使用Maven进行打包?
    Maven是一个流行的Java构建工具,它可以帮助我们自动管理项目依赖、构建、测试和部署。在本文中,我们将介绍如何使用Maven构建Java项目并打包成可执行的jar文件。 步骤1:安装Maven 在开始之前,需要先安装Maven。你可以...
    99+
    2023-09-13
    日志 数据类型 打包
  • 使用maven-assembly-plugin如何打包多模块项目
    目录maven-assembly-plugin打包多模块项目概述1. 需求2. 打包流程使用maven-assembly-plugin插件来定制化打包使用内置的Assembly De...
    99+
    2022-11-13
  • Qt项目打包怎么实现
    这篇文章主要介绍了Qt项目打包怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Qt项目打包怎么实现文章都会有所收获,下面我们一起来看看吧。准备项目文件本质上就是把依赖的动态库放到你指定的文件夹里面去;这样...
    99+
    2023-06-30
  • vue.js项目怎么打包上线
    这篇文章主要介绍“vue.js项目怎么打包上线”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue.js项目怎么打包上线”文章能帮助大家解决问题。vue.js项目打包上线最近一直坚持每个月写一个小的...
    99+
    2023-06-30
  • 怎么将SpringBoot项目打war包
    本篇文章为大家展示了怎么将SpringBoot项目打war包,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、pom.xml配置修改<packaging>jar</packagin...
    99+
    2023-06-15
  • maven打包web项目时同时打包为war和jar文件的方法
    本文介绍了maven打包web项目时同时打包为war和jar文件的方法,分享给大家,具体如下:首先在pom.xml文件中指定war的打包方式,war <artifactId>test</artifactId> &...
    99+
    2023-05-31
    maven war jar
  • 【java】maven 指定项目编译与打包的JDK版本
    Maven 是一个流行的构建工具,用于管理 Java 项目的依赖项、构建和部署。在 Maven 中,可以指定项目的编译和打包所使用的 JDK 版本。本篇博客将介绍如何在 Maven 中指定项目的 JDK 版本,并讨论该选项对项目的影响。 指...
    99+
    2023-08-30
    java maven mysql
  • 如何在kotlin+java项目中使用maven进行打包
    这期内容当中小编将会给大家带来有关如何在kotlin+java项目中使用maven进行打包,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向...
    99+
    2023-06-06
  • vue项目打包怎么清除console.log
    这篇文章主要介绍“vue项目打包怎么清除console.log”,在日常操作中,相信很多人在vue项目打包怎么清除console.log问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue项目打包怎么清除co...
    99+
    2023-07-06
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作