`
xfxlch
  • 浏览: 167807 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

使用maven来新建一个java项目

阅读更多
本教程将会讲解如何用maven来创建一个java项目,并把项目导入到eclipse中,并利用maven来打成jar包。

本教程用到的开发工具:
1.Apache Maven 3.3.3
2.Eclipse Mars Release (4.5.0)
3.JDK 7

引用
注意:
在项目开始之前,请确保你已经在开发环境中安装了Maven,你可以在控制台输入:mvn --version 来查看是否安装了maven,如果提示mvn command not find的话,请自行google如何安装maven


1. 使用一个maven的其中一个模板来创建一个java项目
    首先来到你要新建项目的文件目录,打开命令行窗口, 在命令行窗口中,输入如下的命令:
mvn archetype:generate -DgroupId={project-packaging}
   -DartifactId={project-name}
   -DarchetypeArtifactId=maven-archetype-quickstart
   -DinteractiveMode=false


以上命令就是告诉maven按照maven-archetype-quickstart模板来创建一个java项目,如果你没有指定archetypeArtifactId选项的话,系统将会列出所有的maven模板。

举个例子:
mvn archetype:generate -DgroupId=com.luchenghao -DartifactId=NumberGenerator -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
[INFO] Scanning for projects...
Downloading:xxx
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:2.0:generate (default-cli) > generate-sources
@ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:2.0:generate (default-cli) < generate-sources
@ standalone-pom <<<
[INFO]
[INFO] --- maven-archetype-plugin:2.0: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: groupId, Value: com.luchenghao
[INFO] Parameter: packageName, Value: com.luchenghao
[INFO] Parameter: package, Value: com.luchenghao
[INFO] Parameter: artifactId, Value: NumberGenerator
[INFO] Parameter: basedir, Value: C:\Users\e611265\workspace
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] ********************* End of debug info from resources from generated POM
 ***********************
[INFO] project created from Old (1.x) Archetype in dir: C:\Users\e611265\workspa
ce\NumberGenerator
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 24.356 s
[INFO] Finished at: 2017-02-08T15:37:28+08:00
[INFO] Final Memory: 10M/27M
[INFO] ------------------------------------------------------------------------


上面的例子中,就创建了一个NumberGenerator的java项目,项目的目录结构就都创建好了。

2. 项目目录结构如下:

使用mvn archetype:generate和maven-archetype-quickstart模板得到的结果:
引用

NumberGenerator
   |-src
   |---main
   |-----java
   |-------com
   |---------luchenghao
   |-----------App.java
   |---test
   |-----java
   |-------com
   |---------luchenghao
   |-----------AppTest.java
   |-pom.xml


Maven目录链接:http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

Pom Guide链接:http://maven.apache.org/guides/introduction/introduction-to-the-pom.html

生成的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>com.luchenghao</groupId>
  <artifactId>NumberGenerator</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>NumberGenerator</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>


3. Eclipse IDE
使用下面的命令把NumberGenerator项目转换成eclipse项目
mvn eclipse:eclipse

这个命令会产生eclipse项目所需要的.project和l.classpath文件
项目结构如下:


按照如下步骤,把项目导入到eclipse中, 选择“File -> Import… -> General->Existing Projects into Workspace”

4. 更新POM文件
原始的pom文件比较简单,通常情况下,我们需要添加一个plugin来告诉maven使用哪个版本的jdk来编译我们的项目(默认的jdk是1.4的,这个比较老了)
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-compiler-plugin</artifactId>
	<version>2.3.2</version>
	<configuration>
		<source>1.7</source>
		<target>1.7</target>
	</configuration>
</plugin>


然后把junit的version也从3.8.1更新到4.11
<dependency>
	<groupId>junit</groupId>
	<artifactId>junit</artifactId>
	<version>4.11</version>
	<scope>test</scope>
</dependency>



更新之后的完整的pom文件如下:
<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>com.luchenghao</groupId>
  <artifactId>NumberGenerator</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>NumberGenerator</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>
				<source>1.7</source>
				<target>1.7</target>
			</configuration>
		</plugin>
	  </plugins>
	</build>
</project>


然后在命令行,再次执行命令:mvn eclipse:eclipse,Maven会去下载相应的plugin和依赖的jar包。

5. 写业务逻辑

基于TDD(Test Driven Development)测试驱动开发原则,先更新一下UnitTest类。
AppTest.java文件:
package com.luchenghao;

import org.junit.Assert;
import org.junit.Test;

/**
 * Unit test for simple App.
 */
public class AppTest 
{
    
    @Test
	public void testLengthOfTheUniqueKey() {

		App obj = new App();
		Assert.assertEquals(36, obj.generateUniqueKey().length());

	}
}



业务逻辑类App.java
package com.luchenghao;

import java.util.UUID;

/**
 * Hello world!
 *
 */
public class App 
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
        App obj = new App();
        System.out.println("Unique ID : " + obj.generateUniqueKey());
    }

    public String generateUniqueKey() {
		String id = UUID.randomUUID().toString();
    	return id;
	}
}


6.打jar包
在项目当前目录下面:
C:\Users\e611265\workspace\NumberGenerator>pwd
C:\Users\e611265\workspace\NumberGenerator

执行如下命令:
mvn package
......
[INFO] Building jar: C:\Users\e611265\workspace\NumberGenerator\target\NumberGen
erator-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 04:00 min
[INFO] Finished at: 2017-02-08T20:33:29+08:00
[INFO] Final Memory: 8M/26M
[INFO] ------------------------------------------------------------------------

打出来的jar包,在target的目录下面, 参考如下:



7. Demo

执行如下java命令:
当前目录:C:\Users\e611265\workspace\NumberGenerator>

C:\Users\e611265\workspace\NumberGenerator>java -cp target/NumberGenerator-1.0-S
NAPSHOT.jar com.luchenghao.App
Hello World!
Unique ID : 509351b1-3c5d-4b79-b489-220ccea9c38d



项目下载链接:
http://dl.iteye.com/topics/download/8e33c5d7-03d2-3638-8f44-e3095adbb1ca








  • 大小: 7.9 KB
  • 大小: 9.5 KB
分享到:
评论

相关推荐

    使用Idea14.1.4和maven创建java web项目

    在本篇文章中,我们将详细介绍如何使用IntelliJ IDEA 14.1.4版本结合Maven来创建一个Java Web项目。这种方法不仅能够提高开发效率,还能确保项目的结构更加规范。以下是详细的步骤和需要注意的关键点。 #### 二、...

    java创建一个简单的Maven项目

    java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一...

    基于maven创建web项目

    我们可以使用File--&gt;New--&gt;webProject命令来创建一个新的web项目,并选择添加maven支持。在创建项目时,我们需要指定groupId和ArtifactId,并选择Standard Maven JEE project结构。 在项目创建完成后,我们可以看到...

    idea使用maven创建web项目详细教程

    本教程将指导您使用 IDEA 创建一个 Maven Web 项目,从安装 Maven 到配置 Maven 环境、创建 Maven 工程、pom.xml 文件配置、依赖管理等。 1. 安装 Maven 在 IDEA 中使用 Maven 之前,需要先安装 Maven。在 Maven ...

    使用Maven构建多模块项目

    使用Maven Archetype插件可以快速创建一个多模块项目模板。首先,创建一个父项目,然后在父项目的pom.xml中添加子模块的定义,最后在父项目目录下为每个子模块生成对应的目录结构和基本的pom.xml。 4. 依赖管理: ...

    maven构建web项目

    在IT行业中,Maven是一个广泛使用的项目管理工具,主要用于Java项目的构建、依赖管理和项目信息管理。本篇文章将深入探讨如何使用Maven构建Web项目,并详细解释如何将构建好的项目部署到Tomcat服务器。 首先,Maven...

    mavenWeb空项目

    【标题】"mavenWeb空项目"所涉及的知识点主要集中在Java编程语言和Maven构建工具上,这是一个基于Maven的、已经过单元测试的Web应用程序的基础框架。下面将详细介绍这两个核心领域的相关知识。 **一、Java编程语言*...

    普通的IDEA maven java项目demo(hello word)-1.8

    标题中的“普通的IDEA maven java项目demo(hello word)-1.8”指的是一个基于IntelliJ IDEA的Java项目,使用Maven构建系统,并且是初学者级别的Hello World示例。这个项目可能是为了教授Java编程语言的基础知识,...

    maven java项目实例

    总的来说,这个“maven java项目实例”涵盖了如何使用Maven进行Java项目的构建,特别是Profile的使用,以及可能存在的一个实用工具类`MemberUtil`的实现。通过深入理解和实践这些内容,开发者可以更好地掌握Maven在...

    maven2 java项目管理 工具 测试 框架

    Maven 2 是一个广泛使用的Java项目管理工具,它极大地简化了构建、管理和部署Java应用程序的过程。Maven 使用一种标准化的方法来组织项目结构,并通过依赖管理和项目信息管理来自动化构建流程。这个工具的核心概念是...

    idea使用maven创建的web项目

    Maven是一个项目管理和综合工具,它通过一个统一的配置文件(pom.xml)来管理项目的构建、报告和依赖关系。本项目是基于Idea与Maven创建的Web应用程序,旨在展示如何在Idea中设置和操作Maven项目。 【描述】:“第...

    Maven2 配置指南(java 项目管理之路)

    - **目的**:通过一个简单的示例项目来了解Maven的基本使用方法。 - **步骤**: - 下载示例项目。 - 创建项目。 - 构建项目。 - 分析POM文件。 2. **核心概念** - **Maven插件与目标**:插件提供了执行特定...

    Maven创建Java工程

    ### Maven创建Java工程项目详解 Maven作为Java世界中广受欢迎的构建工具,其强大的功能不仅限于项目的构建,还涵盖了依赖管理、项目信息管理和构建生命周期等多个方面。通过Maven,开发者能够高效地创建、构建和...

    Spring-MVC+Maven构建java项目

    在本文中,我们将深入探讨如何使用Spring MVC和Maven来构建一个Java项目。Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序,而Maven则是一个项目管理工具,用于简化构建、依赖管理和项目文档的生成。 *...

    chm版本Maven教程

    maven教程,目录如下: Maven安装配置 Maven启用代理访问 Maven本地资源库 Maven中央存储库 如何从Maven远程存储库下载?...Eclipse创建一个Maven Web项目 在易百教程网看到的,觉得还不错,就做成了chm笔记本形式

    Maven搭建Grpc项目详细流程附加grpc—java简单demo

    在本文中,我们将详细介绍如何使用Maven来搭建一个gRPC Java项目,并提供一个简单的示例。gRPC是一个高性能、开源的通用RPC框架,它利用Protocol Buffers作为接口定义语言。Maven是Java项目管理和构建的工具,对于...

    java词云生成器(代码,maven项目)

    对于一个用户友好的词云生成器,通常会有一个简单的用户界面供用户上传文件、选择参数(如颜色、布局、字体大小等)并预览结果。这可能使用JavaFX或Swing构建,提供按钮、文本框和文件选择对话框等交互元素。 **7. ...

Global site tag (gtag.js) - Google Analytics