springBuildMaven - juedaiyuer/researchNote GitHub Wiki

#spring构建---maven#

Building Java Projects with Maven

##maven##

#下载,添加到环境变量中
sudo vim /etc/profile

#maven 
export M2_HOME=/home/juedaiyuer/opensource/apache-maven-3.3.9
export M2=$M2_HOME/bin
export PATH=$M2:$PATH

source profile

#查看maven是否成功
$ mvn -v

##构建步骤##

mkdir -p src/main/java/hello

package hello;

public class HelloWorld {
	public static void main(String[] args) {
	    Greeter greeter = new Greeter();
	    System.out.println(greeter.sayHello());
	}
}

package hello;

public class Greeter {
	public String sayHello() {
	    return "Hello world!";
	}
}

#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>

#target/classes有类文件*.class
$ mvn compile

#打包
#包名称依赖于artifactid和version
$ mvn package

#.m2/repository
#Maven also maintains a repository of dependencies on your local machine
#安装到本地库
$ mvn install

#src/main/java/hello/HelloWorld.java

package hello;

import org.joda.time.LocalTime;

public class HelloWorld {
	public static void main(String[] args) {
		LocalTime currentTime = new LocalTime();
		System.out.println("The current local time is: " + currentTime);
		Greeter greeter = new Greeter();
		System.out.println(greeter.sayHello());
	}
}

#mvn compile需要在pom.xml声明Joda Time依赖
#within the <project> element
<properties>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>2.2</version>
    </dependency>
</dependencies>
⚠️ **GitHub.com Fallback** ⚠️