Maven创建一个Java项目
目标:用Maven创建一个普通Java项目,并把该项目转成IDEA项目,导入到IDEA,最后把这个项目打包成一个jar文件,最后在控制的台运行jar文件。
1、打开控制台,进入到想要创建项目的目录,然后运行如下命令,参数自由填写:
mvn archetype:generate -DgroupId={project-packaging}
-DartifactId={project-name}
-DarchetypeArtifactId=maven-archetype-quickstart
-DinteractiveMode=false
参数说明:
-DgroupId:包名,如:com.google
-DartifactId: 项目名称,如:MavenJavaProject
-DarchetypeArtifactId: 项目的类型,Maven提供了很多模板,如果你没写这个,创建的时候就会列出一大堆模板让你选择
-DinteractiveMode: 是否使用交互模式,如果是true,那么在创建过程中就要手动输入一些参数
例子:
mvn archetype:generate -DgroupId=cn.zycf -DartifactId=MavenJavaProject
-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
在上面的例子中,Maven会创建一个名为"NumberGenerator"的项目,并把项目的目录结构自动创建好。
使用mvn archetype:generate
+ maven-archetype-quickstart模板创建出来的项目结构如下::
MavenJavaProject
|-src
|---main
|-----java
|-------cn
|---------zycf
|-----------App.java
|---test
|-----java
|-------cn
|---------zycf
|-----------AppTest.java
|-pom.xml
所有源代码放在/src/main/java/目录里,所有测试代码放在/src/test/java/目录里。
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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.zycf</groupId>
<artifactId>MavenJavaProject</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>MavenJavaProject</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
2、IDEA IDE
要把这个项目转成IDEA项目,要进入到"MavenJavaProject"目录,然后运行如下命令,Maven将会生成IEAD所需的所有文件:
mvn idea:idea -DjdkName=1.8
此处的JDK版本一定要写
3、将其导入IDE中,导入后如下图所示:
4、更改pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<!--指定JDK版本-->
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
更改了jUnit的版本
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
最终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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.zycf</groupId>
<artifactId>MavenJavaProject</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>MavenJavaProject</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<!--JDK版本 -->
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
在命令行再次输入命令:mvn idea:idea -DjdkName=1.8,Maven将会自动下载编译插件并自动升级jUnit的版本,并把依赖包放到本地仓库里。
5、使用Maven打包
现在我们使用Maven编译项目并打包成一个jar文件,打包成什么格式的文件,是通过pom.xml里的packaging标签定义的。
在控制台里输入打包命令:mvn package,Maven就会开始编译项目,运行里面的单元测试,通过测试后就会把项目打包成一个jar文件放在project/target目录里。
由于target目录不会显示在IntelliJ IDEA 里,所以只能到文件浏览器里查看了,最终的项目目录结构如下:
6、运行这个java项目
通过控制台运行这个jar文件
C:\Users\Administrator\Desktop\work\MavenJavaProject>java -cp target/MavenJavaProject-1.0-SNAPSHOT.jar cn.zycf.App