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为文件,然后输入一下内容:

<?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.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.springframework</groupId>
    <artifactId>gs-maven</artifactId>
    <packaging>jar</packaging>
    <version>0.1.0</version>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>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>hello.HelloWorld</mainClass>
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
  • <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文件中添加依赖:

<?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.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.springframework</groupId>
    <artifactId>gs-maven</artifactId>
    <packaging>jar</packaging>
    <version>0.1.0</version>
	
	<dependencies>
		<dependency>
			<groupId>joda-time</groupId>
			<artifactId>joda-time</artifactId>
			<version>2.9.2</version>
		</dependency>
	</dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>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>hello.HelloWorld</mainClass>
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

我们在<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  阅读(22)  评论(0编辑  收藏  举报