关于Maven的 install 和 打包

立山  金牌会员 | 2022-9-16 17:20:02 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 997|帖子 997|积分 2991

 关于安装 
进入pom.xml文件目录下,使用命令mvn install
当然也可以使用类似idea这类本身已经集成好maven插件按钮的编辑器进行安装
安装过程会输出安装jar包的目录信息,同样的,跟class编译后的目标文件一起,放在target目录下
注意:开发编译过程中,如果只 编译 mvn compile,修改的代码是不会生效的,必须重新执行install生成新的包。再执行jetty run(Windows下使用jetty作为服务器)过程自然会解析jar包
  1. [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ thomson-content-rpc-api ---
  2. [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文件
  1. <settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
  2.           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3.           xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 http://maven.apache.org/xsd/settings-1.2.0.xsd">
  4.   
  5.   <localRepository>E:/MavenRepository</localRepository>
复制代码
修改完后,执行 mvn help:system,会自动下载基础的工程到本地仓库
 
通常情况下,类似idea编辑器会把仓库设定在c盘,我们可以自行修改自己想要存放的目录
File -> Settings,勾选以下选项框即可修改目录。
再执行mvn命令时,新生成class文件和jar包会放置在本地仓库中

 
 
关于打包
很方便,可以根据需要设置权限(按Linux的权限定义),最终生成的压缩包会放在target目录下
pom.xml中添加插件,指定assembly.xml文件
  1. <plugin>
  2.     <artifactId>maven-assembly-plugin</artifactId>
  3.     <configuration>
  4.         <descriptor>src/main/assembly/assembly.xml</descriptor>
  5.     </configuration>
  6.     <executions>
  7.         <execution>
  8.             <id>make-assembly</id>
  9.             <phase>package</phase>
  10.             <goals>
  11.                 <goal>single</goal>
  12.             </goals>
  13.         </execution>
  14.     </executions>
  15. </plugin>
复制代码
 
配置包后缀和设置权限
需要在src目录下创建assembly目录,目录下创建assemly.xml文件,和bin目录来放置一些执行脚本
  1. assembly.xml<br><assembly>
  2.     <id>assembly</id>
  3.     <formats><br>    
  4.         <format>tar.gz</format>
  5.     </formats>
  6.     <includeBaseDirectory>true</includeBaseDirectory>
  7.     <fileSets>
  8.         <fileSet>
  9.             <directory>src/main/assembly/bin</directory>
  10.             <outputDirectory>bin</outputDirectory><br>       
  11.             <fileMode>0755</fileMode>
  12.         </fileSet>
  13.         <fileSet>
  14.             <directory>src/main/assembly/conf</directory>
  15.             <outputDirectory>conf</outputDirectory>
  16.             <fileMode>0644</fileMode>
  17.         </fileSet>
  18.     </fileSets>
  19.     <dependencySets>
  20.         <dependencySet>
  21.             <outputDirectory>lib</outputDirectory>
  22.             <scope>runtime</scope>
  23.         </dependencySet>
  24.     </dependencySets>
  25. </assembly>
复制代码
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

立山

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表