Maven的 install 和 打包

简介: 关于Maven的 install 和 打包

关于安装

进入pom.xml文件目录下,使用命令mvn install

当然也可以使用类似idea这类本身已经集成好maven插件按钮的编辑器进行安装

安装过程会输出安装jar包的目录信息,同样的,跟class编译后的目标文件一起,放在target目录下

注意:开发编译过程中,如果只 编译 mvn compile,修改的代码是不会生效的,必须重新执行install生成新的包。再执行jetty run(Windows下使用jetty作为服务器)过程自然会解析jar包

[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ thomson-content-rpc-api ---

[INFO] Building jar: E:\JavaDevelop\thomson-content\thomson-content-rpc-api\target\thomson-content-rpc-api.jar

在maven里面,install是安装的意思,也就是说将代码安装到本地仓库中,成为可运行的包。

通常一个成熟的项目,所依赖的外部类比较多,因此在第一次install代码的时候,会花费较长的时间。例如某个项目,我的本地仓库就达到了1.2G。

 

如何创建自己的本地仓库?

修改maven安装目录下的/conf/settings.xml文件

网络异常,图片无法展示
|

<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 http://maven.apache.org/xsd/settings-1.2.0.xsd">

 <!-- localRepository

  | The path to the local repository maven will use to store artifacts.

  |

  | Default: ${user.home}/.m2/repository

 -->

<localRepository>E:/MavenRepository</localRepository>

网络异常,图片无法展示
|

修改完后,执行 mvn help:system,会自动下载基础的工程到本地仓库

 

通常情况下,类似idea编辑器会把仓库设定在c盘,我们可以自行修改自己想要存放的目录

File -> Settings,勾选以下选项框即可修改目录。

再执行mvn命令时,新生成class文件和jar包会放置在本地仓库中

 

 

关于打包

很方便,可以根据需要设置权限(按Linux的权限定义),最终生成的压缩包会放在target目录下

pom.xml中添加插件,指定assembly.xml文件

网络异常,图片无法展示
|

<plugin>

   <artifactId>maven-assembly-plugin</artifactId>

   <configuration>

       <descriptor>src/main/assembly/assembly.xml</descriptor>

   </configuration>

   <executions>

       <execution>

           <id>make-assembly</id>

           <phase>package</phase>

           <goals>

               <goal>single</goal>

           </goals>

       </execution>

   </executions>

</plugin>

网络异常,图片无法展示
|

 

配置包后缀和设置权限

需要在src目录下创建assembly目录,目录下创建assemly.xml文件,和bin目录来放置一些执行脚本

网络异常,图片无法展示
|

assembly.xml
<
assembly>

   <id>assembly</id>

   <formats>
    <!-- 生成包后缀名 -->

       <format>tar.gz</format>

   </formats>

   <includeBaseDirectory>true</includeBaseDirectory>

   <fileSets>

       <fileSet>

           <directory>src/main/assembly/bin</directory>

           <outputDirectory>bin</outputDirectory>
      <!-- 设置linux权限 -->

           <fileMode>0755</fileMode>

       </fileSet>

       <fileSet>

           <directory>src/main/assembly/conf</directory>

           <outputDirectory>conf</outputDirectory>

           <fileMode>0644</fileMode>

       </fileSet>

   </fileSets>

   <dependencySets>

       <dependencySet>

           <outputDirectory>lib</outputDirectory>

           <scope>runtime</scope>

       </dependencySet>

   </dependencySets>

</assembly>



目录
相关文章
|
7天前
|
Java 应用服务中间件 Maven
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
19 3
|
21天前
|
Java Maven Android开发
【Azure Developer】VS Code打包Java maven Project 遇见 BUILD FAILURE
Unknown lifecycle phase "lean". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>
|
23天前
|
缓存 IDE Java
idea的maven项目打包时没有source下的文件
【10月更文挑战第21天】idea的maven项目打包时没有source下的文件
35 1
|
1月前
|
Java 测试技术 Maven
maven 打包命令
maven 打包命令
25 6
|
1月前
|
Java Linux Maven
IDEA如何用maven打包(界面和命令两种方式)
【10月更文挑战第14天】本文介绍了两种Maven项目打包方法:命令行与IDEA界面。首先确保已安装Maven并配置环境变量,通过`mvn -v`检查安装。命令行打包需进入项目目录,执行`mvn package`,之后在`target`目录查看结果。IDEA打包则需配置Maven路径,打开Maven Projects窗口,双击Lifecycle下的`package`阶段,同样在`target`目录查找生成文件,并在Build窗口查看日志以排查问题。
663 1
|
1月前
|
Java Shell Maven
Flink-11 Flink Java 3分钟上手 打包Flink 提交任务至服务器执行 JobSubmit Maven打包Ja配置 maven-shade-plugin
Flink-11 Flink Java 3分钟上手 打包Flink 提交任务至服务器执行 JobSubmit Maven打包Ja配置 maven-shade-plugin
103 4
|
1月前
|
Java Maven
用graalvm将maven项目打包成可执行文件
本文介绍了如何使用GraalVM将Maven项目打包成可执行文件,包括引入依赖和插件、编写代码、执行打包命令以及运行查看结果的完整过程。
120 0
用graalvm将maven项目打包成可执行文件
|
1月前
|
Java Maven
maven打包出现没有主类的原因,详细分析并解决
本文分析了使用Maven打包Java应用时找不到或无法加载主类的问题,通常是由于未配置主类或打包时未包含依赖,并通过添加Maven插件解决了依赖问题,同时指出了JavaFX应用可能遇到的运行时组件缺失的错误。
140 0
maven打包出现没有主类的原因,详细分析并解决
|
1月前
|
Java 应用服务中间件 Maven
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
314 0
|
3月前
|
Java Maven 容器
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
使用IntelliJ IDEA的Artifacts功能,可以将项目依赖的第三方jar包打包进jar文件中,实现双击jar包即可直接运行。
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行