首先是maven的安装和配置
http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
下载apache-maven-3.5.4
解压到~/bigdata/apache-maven-3.5.4
---------------------------~/.bashrc配置-------------------------------------------------------------------
export MAVEN_HOME=~/bigdata/apache-maven-3.5.4
export PATH=$MAVEN_HOME/bin:$PATH
-----------------------------------settings.xml配置jar下载的存放路径--------------------------------------------------------------
~/bigdata/apache-maven-3.5.4/conf/settings.xml
修改存放下载jar包的路径:
localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/home/appleyuchi/bigdata/apache-maven-3.5.4/jar_warehouse</localRepository>
修改下载jar软件包的来源:
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
注意,这里的地址要写死,如果使用~,会被当成工程当前所在路径的。
默认下载jar包的存放地址在
\.m2\repository\org\apache\maven\plugins\maven-resources-plugin\
------------------------------maven的运行原理----------------------------------------------------------------
maven把需要下载的文件写入pom.xml中
mvn compile运行时去下载这些缺少的文件
在mvn compile运行时打印出来的INFO log中有.pom文件,这些是指示jar的下载位置的。
接下来是maven的使用
----------------------------------------------------------------------------------------------------------------
桌面上创立文件夹test。
首先看下路径
(python2.7) appleyuchi@ubuntu:~/Desktop/test$ tree
.
├── pom.xml
├── src
│ └── main
│ └── java
│ └── yuchi
│ └── HelloWorld.java
上面加粗字体的都是文件夹,其余都是文件
(python2.7) appleyuchi@ubuntu:~/Desktop/test$ ls
pom.xml src target
----------------------------------------------------------------------------------------------------------------
其中HelloWorld.java内容如下:
package yuchi;
public class HelloWorld{
public String sayHello(){
return "Hello World";
}
public static void main(String[] args){
System.out.println(new HelloWorld().sayHello());
}
}
这里的package里面要填写src/main/java后面开始的路径,因为只有一个文件夹yuchi
,所以形成的路径是yuchi
pom.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:SchemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.ort/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycom.app</groupId>
<artifactId>hello-world</artifactId>
<version>1.0-SNAPSHOT</version>
<name>Maven Hello World Project</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>yuchi.HelloWorld</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
其中,<mainClass>里面的路径从yuchi开始写,写到mainclass的名字为止
注意这里的src/main/java相当于java系统的一个根目录,类似于linux系统中的~
--------------------------------------------------------------------------------------------
必须在pom.xml所在的目录下,输入以下命令(也就是该命令对路径是有要求的):
mvn clean install
然后会生成target文件夹
cd target
java -jar hello-world-1.0-SNAPSHOT.jar
得到运行结果:
Hello World
稍微总结下:
其实运行一个helloworld是根本不用大费周章使用maven的,
这里使用maven的目的是因为HelloWorld.java前面调用了一些包
操作步骤总结:
1、布置好文件夹和文件,形成符合规范的路径(路径中要有src/main/java作为根路径)
改好pom.xml中的main.class以及代码文件开头的package
2、pom.xml路径下运行mvn clean install
target路径下运行java -jar hello-world-1.0-SNAPSHOT.jar
(完)
--------------------------------------------------------------------------------------------
参考文章
https://www.jianshu.com/p/10f51b4bd59e
https://segmentfault.com/a/1190000013608321
https://blog.csdn.net/zhaojianting/article/details/80324533(这篇文章是用来讲解命令的作用的)