Maven的简单使用

1.检查JDK的安装是否正确

maven的运行依赖于JDK,我们先检查相关的JDK设置是否正确。

1.1 检查JDK是否正确安装

运行:

java -version

正确安装的信息输出如下:

检查JAVA_HOME变量是否正确

JAVA_HOME变量应该指向JDK的安装目录,运行:

echo $JAVA_HOME

输出如下:

2.maven安装

首先到Maven的官方网站下载好maven的运行软件包,这里下载的是apache-maven-3.5.3-bin.tar.gz,我们可以使用wget进行下载

wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz

下载后解压

tar -xvzf apache-maven-3.5.3-bin.tar.gz

将maven移动到/opt文件夹下

mv apache-maven-3.5.3-bin /opt

然后将/opt/apache-maven-3.5.3/bin添加到系统的PATH变量中:

export /opt/apache-maven-3.5.3/bin:$PATH

检查一下$PATH变量目前的值,运行echo $PATH,输出如下:

3.使用maven解决依赖

3.1 创建java项目

我们在系统中建立如下的文件夹:

mkdir -p project/src/main/java/hello

然后建立文件:

touch project/src/main/java/hello/HelloWorld.java

编辑HelloWorld.java,代码如下:

package hello;

public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}

3.2 创建maven的定义文件

maven使用pom.xml文件进行项目的依赖定义,我们在project文件夹下创建一个pom.xml为文件,然后输入一下内容:



4.0.0
org.springframework
gs-maven
jar
0.1.0




org.apache.maven.plugins
maven-shade-plugin
2.1


package

shade




hello.HelloWorld








  • <modelVersion> POM的模型版本号 (固定为 4.0.0).

  • <groupId> 这个项目属于什么组织或者单位,通常是一个倒序的域名

  • <artifactId> 项目的名称(例如生成的jar文件或war文件的名称)

  • <version> 项目的版本号

  • <packaging> 项目的打包方式,默认是jar,表示使用jar文件的生产方式,如果改为war,就是使用war包的生产方式。

运行:

mvn compile

此时,mvn就会进行编译并运行测试,成功编译后,会在project/target/classes生成文件hello,如图:

但是这个文件不能直接运行,如果要直接运行的文件,我们需要生成一个jar包,我们使用下面的命令生成jar包:

mvn package

然后就在project/target/文件夹下面生成了gs-maven-0.1.0.jar文件,这个文件的命名是根据pom.xml文件中的<artifactId>和<version>的值生成的:

我们可以直接使用java -jar gs-maven-0.1.0.jar运行这个文件。

3.3 添加额外的依赖组件

我们现在添加Joda-Time库到我们的项目中,首先在pom.xml文件中添加依赖:



4.0.0
org.springframework
gs-maven
jar
0.1.0



joda-time
joda-time
2.9.2




org.apache.maven.plugins
maven-shade-plugin
2.1


package

shade




hello.HelloWorld








我们在<dependencies>标签里面添加了joad-time的依赖,接下来我们修改HelloWorld.java文件:

package hello;

public class HelloWorld {
public static void main(String[] args) {
LocalTime currentTime = new LocalTime();
System.out.println("the current time is: "+currentTime);
System.out.println("Hello World!");
}
}

接下来我们运行:

nvm package

系统会从下载依赖的joad-time库到本地,然后再次进行项目的编译和打包,此时我们再次对编译后的jar执行:

java -jar gs-maven-0.1.0.jar

输出:

4.参考资料

Building Java Projects with Maven

posted @ 2018-03-30 23:44  cloes  阅读(33)  评论(0)    收藏  举报