java的jar包管理,很方便使用。

准备

下载

全平台

image.png
环境变量

  1. export M3_HOME=/usr/local/maven
  2. export PATH=$M3_HOME/bin:$PATH

配置阿里镜像

速度,速度,速度!

  1. <mirror>
  2. <id>aliyunmaven</id>
  3. <mirrorOf>*</mirrorOf>
  4. <name>阿里云公共仓库</name>
  5. <url>https://maven.aliyun.com/repository/public</url>
  6. </mirror>

maven文件示例

  1. <project xmlns="http://maven.apache.org/POM/4.0.0"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
  4. http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <!-- 子模块对父模块的继承,继承父模块的所有依赖 -->
  7. <parent>
  8. <groupId></groupId>
  9. <artifactId></artifactId>
  10. <version></version>
  11. </parent>
  12. <!-- 指定多个模块一起进行编译 -->
  13. <modules>
  14. <module></module>
  15. </modules>
  16. <!--groupId 反写的公司网站+项目名称 -->
  17. <groupId>com.demo.ssm</groupId>
  18. <!--artifactId 项目名称+模块名称 -->
  19. <artifactId>demo-ssm</artifactId>
  20. <!--第一个0表示大版本号
  21. 第二个0表示分支版本号
  22. 第三个0表示小版本号 0.0.1
  23. snapshot快照 alpha内部测试 beta公测
  24. Release稳定版本 GA正式发布
  25. -->
  26. <version>0.0.1-SNAPSHOT</version>
  27. <!-- 默认是jar 可以是war jar pom -->
  28. <packaging>jar</packaging>
  29. <!--项目描述名称-->
  30. <name>demo-ssm</name>
  31. <!--项目地址-->
  32. <url>www.gseem.com</url>
  33. <!--项目描述-->
  34. <description>这是项目描述</description>
  35. <!--开发者列表-->
  36. <developers>feiyue</developers>
  37. <!--项目许可证-->
  38. <licenses></licenses>
  39. <!--项目组织信息-->
  40. <organization></organization>
  41. <!--项目属性-->
  42. <properties>
  43. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  44. </properties>
  45. <!--项目依赖列表-->
  46. <dependencies>
  47. <dependency>
  48. <groupId>junit</groupId>
  49. <artifactId>junit</artifactId>
  50. <version>4.9</version>
  51. <type></type>
  52. <!-- 作用范围 -->
  53. <scope>test</scope>
  54. <!-- 设置依赖是否可选-->
  55. <optional></optional>
  56. <!-- 排除依赖传递列表 -->
  57. <exclusions>
  58. <exclusion></exclusion>
  59. </exclusions>
  60. </dependency>
  61. <dependency>
  62. <groupId>com.demo.maven</groupId>
  63. <artifactId>demo.maven</artifactId>
  64. <version>0.0.1-SNAPSHOT</version>
  65. </dependency>
  66. </dependencies>
  67. <!-- 依赖的管理 -->
  68. <dependencyManagement>
  69. <dependencies>
  70. <dependency></dependency>
  71. </dependencies>
  72. </dependencyManagement>
  73. <build>
  74. <!-- 插件列表 -->
  75. <plugins>
  76. <plugin>
  77. <groupId></groupId>
  78. <artifactId></artifactId>
  79. <version></version>
  80. </plugin>
  81. </plugins>
  82. </build>
  83. </project>

生成可运行jar包

默认生成的jar包是无法直接运行的,怎么办呢?
导入maven插件,然后修改起始文件位置,package即可。

  1. <build>
  2. <!--使用Maven编译可执行的jar-->
  3. <plugins>
  4. <plugin>
  5. <artifactId>maven-assembly-plugin</artifactId>
  6. <configuration>
  7. <appendAssemblyId>false</appendAssemblyId>
  8. <descriptorRefs>
  9. <descriptorRef>jar-with-dependencies</descriptorRef>
  10. </descriptorRefs>
  11. <archive>
  12. <manifest>
  13. <mainClass>com.example.tool.app.MainApp</mainClass>
  14. </manifest>
  15. </archive>
  16. </configuration>
  17. <executions>
  18. <execution>
  19. <id>make-assembly</id>
  20. <phase>package</phase>
  21. <goals>
  22. <goal>assembly</goal>
  23. </goals>
  24. </execution>
  25. </executions>
  26. </plugin>
  27. </plugins>
  28. </build>

从客户端导入第三方jar包

有些时候,我们想用自己的jar包通过maven引入,这个时候可以通过下面的命令导入,然后就可以使用maven啦。

  1. mvn install:install-file \
  2. -DgroupId=com.unisound.classify \
  3. -DartifactId=intent-classify-api -Dversion=1.0-SNAPSHOT \
  4. -Dfile=intent-classify-api-1.0-SNAPSHOT.jar \
  5. -Dpackaging=jar