使用Maven创建Java项目

在本教程中,我们将向你展示如何使用 Maven 来创建一个 Java 项目,导入其到Eclipse IDE,并打包 Java 项目到一个 JAR 文件。

所需要的工具:

  1. Maven 3.3.3
  2. Eclipse 4.2
  3. JDK 8
注意:请确保 Maven 是正确安装和配置(在Windows,*nix,Mac OSX系统中),然后再开始本教程,避免 mvn 命令未找到错误。

1. 从 Maven 模板创建一个项目

在终端(* UNIX或Mac)或命令提示符(Windows)中,浏览到要创建 Java 项目的文件夹。键入以下命令:

mvn archetype:generate -DgroupId={project-packaging} -DartifactId={project-name}-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

这告诉 Maven 来从 maven-archetype-quickstart 模板创建 Java 项目。如果忽视 archetypeArtifactId 选项,一个巨大的 Maven 模板列表将列出。

例如,这里的工作目录是:C:worksp,执行命令过程时间可能比较久,看个人的网络状况。

C:worksp>mvn archetype:generate -DgroupId=com.yiibai -DartifactId=NumberGenerator -DarchetypeArtifactId=maven -archetype-quickstart -DinteractiveMode=false[INFO] Scanning for projects...[INFO][INFO] ------------------------------------------------------------------------[INFO] Building Maven Stub Project (No POM) 1[INFO] ------------------------------------------------------------------------[INFO][INFO] >>> maven-archetype-plugin:2.4:generate (default-cli) > generate-sources@ standalone-pom >>>[INFO][INFO] <<< maven-archetype-plugin:2.4:generate (default-cli) < generate-sources@ standalone-pom <<<[INFO][INFO] --- maven-archetype-plugin:2.4:generate (default-cli) @ standalone-pom ---[INFO] Generating project in Batch mode[INFO] ----------------------------------------------------------------------------[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.0[INFO] ----------------------------------------------------------------------------[INFO] Parameter: basedir, Value: C:worksp[INFO] Parameter: package, Value: com.yiibai[INFO] Parameter: groupId, Value: com.yiibai[INFO] Parameter: artifactId, Value: NumberGenerator[INFO] Parameter: packageName, Value: com.yiibai[INFO] Parameter: version, Value: 1.0-SNAPSHOT[INFO] project created from Old (1.x) Archetype in dir: C:workspNumberGenerator[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 23.166 s[INFO] Finished at: 2015-10-27T11:03:48+08:00[INFO] Final Memory: 17M/114M[INFO] ------------------------------------------------------------------------

在上述情况下,一个新的Java项目命名 “NumberGenerator”, 而整个项目的目录结构会自动创建。

注意
有少数用户说 mvn archetype:generate 命令未能生成项目结构。 如果您有任何类似的问题,不用担心,只需跳过此步骤,手动创建文件夹,请参阅步骤2的项目结构。

2.Maven目录布局

使用 mvn archetype:generate + maven-archetype-quickstart 模板, 以下项目的目录结构被创建。

<project ...> <modelVersion>4.0.0</modelVersion> <groupId>com.yiibai</groupId> <artifactId>NumberGenerator</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version>

在终端输入 mvn package :

C:workspNumberGenerator> mvn package... ...ha-2/classworlds-1.1-alpha-2.jar (37 KB at 20.2 KB/sec)Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-io/2 .0.2/plexus-io-2.0.2.jar (57 KB at 28.1 KB/sec)Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-inte rpolation/1.15/plexus-interpolation-1.15.jar (60 KB at 21.4 KB/sec)Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-arch iver/2.1/plexus-archiver-2.1.jar (181 KB at 61.5 KB/sec)Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-util s/3.0/plexus-utils-3.0.jar (221 KB at 60.3 KB/sec)[INFO] Building jar: C:workspNumberGeneratortargetNumberGenerator-1.0-SNAPSHOT.jar[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 01:00 min[INFO] Finished at: 2015-10-27T20:00:17+08:00[INFO] Final Memory: 10M/54M[INFO] ------------------------------------------------------------------------

它编译,运行单元测试并打包项目成一个 jar 文件,并把它放在 project/target 文件夹。如果出错:ERROR: Unable to locate the Javac Compiler in:,  C:Program Files (x86)Javajre6..libtools.jar,Please ensure you are using JDK 1.4 or above and,not a JRE (the com.sun.tools.javac.Main class is required)...

参考:http://my.oschina.net/u/1449336/blog/199802

 最终项目的目录结构, 如下图片 :

7. 示例

从项目的 jar 文件运行应用程序示例

C:workspNumberGenerator>java -cp target/NumberGenerator-1.0-SNAPSHOT.jar com.yiibai.AppUnique ID : 94e5fd1a-c038-415f-a8ed-7fc58c397369C:workspNumberGenerator>C:workspNumberGenerator>java -cp target/NumberGenerator-1.0-SNAPSHOT.jar com.yiibai.AppUnique ID : 48df568a-4b4b-4964-b767-664e206ca4b5C:workspNumberGenerator>java -cp target/NumberGenerator-1.0-SNAPSHOT.jar com.yiibai.AppUnique ID : 4ac9156c-2e4a-45f4-8644-0707ae28d5a6

下载代码

下载代码 - Maven-NumberGenerator.zip