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>



目录
相关文章
|
19天前
|
缓存 IDE Java
maven install报错原因揭秘:‘parent.relativePath‘指向错误的本地POM文件
在使用Maven构建项目时,遇到&#39;parent.relativePath&#39;错误通常是由于父项目POM路径设置错误、版本不一致或内容不匹配导致的。解决方法包括:校正父项目POM的相对路径、确保版本一致、保持POM文件内容同步,并排查其他潜在问题,如子模块命名冲突和Maven缓存问题。通过这些步骤可解决该错误,避免项目构建失败。
maven install报错原因揭秘:‘parent.relativePath‘指向错误的本地POM文件
|
3天前
|
Java 测试技术 Maven
Maven打包使用多线程加速构建过程
Maven打包使用多线程加速构建过程
20 0
|
2月前
|
Java Maven
SpringBoot项目的用maven插件打包报Test错误
SpringBoot项目的用maven插件打包报Test错误
|
4天前
|
Java Maven
maven跳过测试清理、打包、安装
maven跳过测试清理、打包、安装
16 4
|
2月前
|
Java Maven 开发工具
记录一次Maven无法打包的排查过程
【5月更文挑战第3天】记录一次WhatTheFuck经历
72 2
记录一次Maven无法打包的排查过程
|
23天前
|
Java Maven Perl
解决Maven父子多模块打包互相引用打包:必须父模块才能打包成功,单个子模块无法打包成功问题(会提示找不到)
解决Maven父子多模块打包互相引用打包:必须父模块才能打包成功,单个子模块无法打包成功问题(会提示找不到)
|
5天前
|
Java Maven
maven执行 打包时报错提示:不再支持源选项 5。请使用 7 或更高版本。
maven执行 打包时报错提示:不再支持源选项 5。请使用 7 或更高版本。
10 0
|
6天前
|
Java Maven
Maven项目打包成jar项目后运行报错误: 找不到或无法加载主类 Main.Main 和 jar中没有主清单属性解决方案
Maven项目打包成jar项目后运行报错误: 找不到或无法加载主类 Main.Main 和 jar中没有主清单属性解决方案
14 0
|
6天前
|
缓存 Java Maven
IDEA如何把MAVEN项目打包成jar包并且用命令行启动
IDEA如何把MAVEN项目打包成jar包并且用命令行启动
14 0
|
2月前
|
安全 前端开发 Java
安全同学讲Maven重打包的故事
经过去年的Log4j-core的治理工作,我们通过Maven的依赖仲裁机制,在蚂蚁集团静态代码扫描平台-STC 和资产威胁透视-哈勃2款产品的联动合作下,很好的完成了直接依赖和间接依赖场景下的治理工作。但路还很远,新的场景层出不穷,故事还远远没有结束,我们要做的事情还非常多。
93 12