Maven
远程仓库:https://mvnrepository.com/
下载
下载地址:https://maven.apache.org/download.cgi
下载页中的src
文件是源码,常规使用的话下载bin
文件就好
配置环境变量
MAVEN_HOME
:maven的根目录
Path
:%MAVEN_HOME%\bin
测试maven是否安装成功
mvn -version
配置maven本地仓库
配置conf/settings.xml
文件
<!--默认值是 ${user.home}/.m2/repository-->
<localRepository>本地仓库地址<localRepository>
Maven父子工程
创建一个普通的Maven项目,删掉项目里的src目录,现在这个空的项目就是Maven的主工程
我们尽可能的把依赖放在主工程里,子项目可以使用父项目的依赖,这样可以不必每次重复地去导依赖
资源导出问题
Maven由于约定大于配置,我们之后可能会遇到我们写的配置文件,无法导出或无法生效的问题
解决方案,相关博客:https://www.cnblogs.com/pixy/p/4798089.html
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
Idea处理忽略的pom.xml
文件
package、install、deploy之间的区别
相关博客:
纯粹Maven项目,找不到主清单及依赖没有打包问题
由于是纯Maven项目,所以打包的时候会有一些问题
将如下插件添加至 pom.xml
中,与dependencies标签同级
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.3</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>主类入口</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
依赖打包插件
会把Maven依赖也打进包里
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>17</source>
<target>17</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>