Building Java Projects with Maven
本篇介绍如何使用Maven,与spring暂时没有关系
首先需要编写POM
下面的例子中引入了一个joda-time.jar和一个可执行JAR的插件maven-shade-plugin
pom.xml
<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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.gc</groupId> <artifactId>spring3</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>spring3</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <scope>test</scope> </dependency> <!-- 处理日期时间很方便的一个工具 --> <dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.3</version> </dependency> </dependencies> <build> <plugins> <!-- 可执行jar插件:即,可以通过java -jar 命令可以执行的jar文件 --> <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"> <!-- 指定入口函数所在的类路径,即主函数main()所在的类路径 --> <mainClass>hello.HelloWorld</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>
2个类文件
package hello; public class Greeter { public String sayHello() { return "Hello world!"; } }
package hello; import org.joda.time.LocalTime; public class HelloWorld { public static void main(String[] args) { System.out.println(args[0]); LocalTime currentTime = new LocalTime(); System.out.println("The current local time is: " + currentTime); Greeter greeter = new Greeter(); System.out.println(greeter.sayHello()); } }
通过Maven进行编译和打包,生成jar文件
在target目录下,将生成1个可执行jar和1个普通jar
扫描二维码关注公众号,回复:
667806 查看本文章
spring3Demo-0.0.1-SNAPSHOT-shaded.jar
spring3Demo-0.0.1-SNAPSHOT.jar
打开CMD窗口,输入:
C:\Users\Administrator>java -jar E:\project\spring3\target\spring3-0.0.1-SNAPSHOT-shaded.jar hellowold
[命令最后的'helloworld'是传入main函数的参数,被args[]所接收]
由于是可执行jar,使用java -jar命令即可执行,得到结果:
hellowold
The current local time is: 23:45:35.198
Hello world!