首页 > 其他分享 >关于Maven的 install 和 打包

关于Maven的 install 和 打包

时间:2022-08-21 20:24:33浏览次数:49  
标签:xml maven assembly jar 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>

 

标签:xml,maven,assembly,jar,Maven,install,目录,打包
From: https://www.cnblogs.com/thomson-fred/p/16609550.html

相关文章

  • Maven中xml配置文件导出到target失败问题解决方案
    Maven中xml配置文件导出到target失败问题解决方案在pom.xml中加入下面代码<!--在build中配置resources,来防止我们资源导出失败的问题--><build><resources>......
  • IDEA打包普通java项目并用java命令运行
    IDEA下打包为jar包,普通java项目(非web项目)效果是将第三方jar包放到一个文件夹中(如lib),这样看起来清晰一些。如下图这种:  1.项目结构。   1.关键:modules  ......
  • 2022年8月21日周六总结(maven install和package的区别未完成)
    最近做了nexus的配置,突然发现maven也很重要,我们平时会在idea用到clear、install、package等,package毫无疑问就是打包jar包了(在maven中定义了),这个打包会把 最近:这里记录......
  • webpack5打包图片遇到的问题与解决方案
    使用webpack提供的asset/resource做图片的打包处理,但是只能识别css中的路径,如:.title{color:red;background:url('/src/assets/imgs/456.jpeg');width:10......
  • npm install vue-router --save-dev 错误
    错误代码:npminstallvue-router--save-dev   首先进行原因分析:根据大部分文档的叙述该错误为:npm版本问题,新版本对下载要求比较严格其次解决方案:npminstall--l......
  • 12. azkaban调度打包上传
    1.project.flownodes:-name:dataCleantype:commandconfig:command:sh/opt/project/dataClean/dataClean.sh-name:dataAnalytype:c......
  • vue项目打包成dist文件以后,index.html加载空白?
    打包成dist文件以后,index.html加载空白没有修改config配置文件,直接打包,系统默认的是’/’(根目录),而不是’./’(当前目录),从而导致路径不对,页面加载不出来。针对vue-cli3.......
  • 学习:python 程序打包exe文件
    python程序打包exe.py首先要安裝模块pipinstall pyinstaller按住shift右鍵 打开命令窗口-输入命令intaller-F文件名.py,等待执行完成后,文件夹内会多一个dis......
  • Python PyInstaller安装和使用教程(详解版)
    在创建了独立应用(自包含该应用的依赖包)之后,还可以使用PyInstaller将 Python 程序生成可直接运行的程序,这个程序就可以被分发到对应的Windows或MacOSX平台上运行......
  • Maven配置阿里云仓库
    打开maven的配置文件(windows系统一般在maven安装目录的conf/settings.xml)在<profiles></profiles>标签中添加profile子节点:<profile> <id>aliProfile</id> <......