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=NumberGenerat

or -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:\worksp\NumberGenerato

r

[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 模板, 以下项目的目录结构被创建。

NumberGenerator

|-src

|---main

|-----java

|-------com

|---------yiibai

|-----------App.java

|---test|-----java

|-------com

|---------yiibai

|-----------AppTest.java

|-pom.xml

很简单的,所有的源代码放在文件夹 /src/main/java/, 所有的单元测试代码放入 /src/test/java/.

附加的一个标准的 pom.xml 被生成。这个POM文件类似于 Ant build.xml 文件,它描述了整个项目的信息,一切从目录结构,项目的插件,项目依赖,如何构建这个项目等

20.

默认的 pom.xml 太简单了,很多时候,你需要添加编译器插件来告诉 Maven 使用哪个 JDK 版本是用来编译项目。(默认JDK1.4,这的确太旧了点)

org.apache.maven.plugins

maven-compiler-plugin

2.3.2

1.6

1.6

6. Maven 打包

现在,我们将使用Maven这个项目,并输出编译成一个 “jar” 的文件。 请参考 pom.xml 文件,包元素定义应该包应该输出什么。

pom.xml

4.0.0

com.yiibai

NumberGenerator

jar

1.0-SNAPSHOT

在终端输入 mvn package :

C:\worksp\NumberGenerator> 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:\worksp\NumberGenerator\target\NumberGenerator-1.0-SNAPSH

OT.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)\Java\jre6\..\lib\tools.jar,Please ensure you are using JDK 1.4 or above and,not a JRE (the com.sun.tools.javac.Main class is required)..

1. 从Maven模板创建Web项目

您可以通过使用Maven的maven-archetype-webapp模板来创建一个快速启动Java Web应用程序的项目。在终端(* UNIX或Mac)或命令提示符(Windows)中,导航至您想要创建项目的文件夹。

键入以下命令:

$ mvn archetype:generate -DgroupId=com.yiibai -DartifactId=CounterWebApp -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

具体示例 :

C:\worksp>mvn archetype:generate -DgroupId=com.yiibai -DartifactId=CounterWebAp

p -DarchetypeArtifactId=maven-archetype-webapp -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

Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/ma

ven-archetype-webapp/1.0/maven-archetype-webapp-1.0.jar

Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/mav

en-archetype-webapp/1.0/maven-archetype-webapp-1.0.jar (4 KB at 0.1 KB/sec)

Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/ma

ven-archetype-webapp/1.0/maven-archetype-webapp-1.0.pom

Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/mav

en-archetype-webapp/1.0/maven-archetype-webapp-1.0.pom (533 B at 0.1 KB/sec)

[INFO] -------------------------------------------------------------------------

---

[INFO] Using following parameters for creating project from Old (1.x) Archetype:

maven-archetype-webapp: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: CounterWebApp

[INFO] Parameter: packageName, Value: com.yiibai

[INFO] Parameter: version, Value: 1.0-SNAPSHOT

[INFO] project created from Old (1.x) Archetype in dir: C:\worksp\CounterWebApp

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 10:30 min

[INFO] Finished at: 2015-10-28T20:31:03+08:00

[INFO] Final Memory: 16M/174M

[INFO] ------------------------------------------------------------------------

新的Web项目命名为 “CounterWebApp”,以及一些标准的 web 目录结构也会自动创建。

2. 项目目录布局

查看生成的项目结构布局:

.|____CounterWebApp

||____pom.xml

||____src

|||____main

||||____resources

||||____webapp

|||||____index.jsp

|||||____WEB-INF

||||||____web.xml

Maven 产生了一些文件夹,一个部署描述符 web.xml,pom.xml 和 index.jsp。

pom.xml

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

4.0.0

com.yiibai

CounterWebApp

war

1.0-SNAPSHOT

CounterWebApp Maven Webapp

http://maven.apache.org

junit

junit

3.8.1

test

CounterWebApp

web.xml – Servlet 2.3 已经比较旧, 建议升级到2.5

/p>

"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

"http://java.sun.com/dtd/web-app_2_3.dtd" >Archetype Created Web Application

index.jsp – 一个简单的 hello world html 页面文件

style="display:inline-block;width:728px;height:90px"data-ad-client="ca-pub-2836379775501347"data-ad-slot="3642936086"data-ad-region="mkyongregion">

(adsbygoogle = window.adsbygoogle || []).push({});

Hello World!

3. Eclipse IDE 支持

要导入这个项目到Eclipse中,需要生成一些 Eclipse 项目的配置文件:

3.1、在终端,进入到 “CounterWebApp” 文件夹中,键入以下命令:

C:\worksp>cd CounterWebApp

C:\worksp\CounterWebApp>mvn eclipse:eclipse -Dwtpversion=2.0

[INFO] Scanning for projects...

Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven -war-plugin/2.2/maven-war-plugin-2.2.pom

Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven- war-plugin/2.2/maven-war-plugin-2.2.pom (7 KB at 2.5 KB/sec)

Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven -war-plugin/2.2/maven-war-plugin-2.2.jar

Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven- war-plugin/2.2/maven-war-plugin-2.2.jar (77 KB at 26.2 KB/sec)

[INFO]

[INFO] ------------------------------------------------------------------------

[INFO] Building CounterWebApp Maven Webapp 1.0-SNAPSHOT

[INFO] ------------------------------------------------------------------------

[INFO]

[INFO] >>> maven-eclipse-plugin:2.10:eclipse (default-cli) > generate-resources

@ CounterWebApp >>>

[INFO]

[INFO] <<

@ CounterWebApp <<<

[INFO]

[INFO] --- maven-eclipse-plugin:2.10:eclipse (default-cli) @ CounterWebApp ---

[INFO] Adding support for WTP version 2.0.

[INFO] Using Eclipse Workspace: null

[INFO] Adding default classpath container: org.eclipse.jdt.launching.JRE_CONTAINER

[INFO] Not writing settings - defaults suffice

[INFO] Wrote Eclipse project for "CounterWebApp" to C:\worksp\CounterWebApp.

[INFO]

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 7.982 s

[INFO] Finished at: 2015-10-28T20:24:57+08:00

[INFO] Final Memory: 15M/146M

[INFO] ------------------------------------------------------------------------

注意,此选项 -Dwtpversion=2.0 告诉 Maven 将项目转换到 Eclipse 的 Web 项目(WAR),而不是默认的Java项目(JAR)。为方便起见,以后我们会告诉你如何配置 pom.xml 中的这个 WTP 选项。

3.2 导入到 Eclipse IDE – File -> Import… -> General -> Existing Projects into workspace.

maven 创建 java_使用maven创建java项目相关推荐

  1. jmeter测试java_使用JMeter测试Java项目

    一. Apache JMeter工具 1)简介 JMeter--一个100%的纯Java桌面应用,它是Apache组织的开放源代码项目,它是功能和性能测试的工具.JMeter可以用于测试静态或者动态资 ...

  2. 将已有项目转为se项目_如何将 Java 项目转换成 Maven 项目

    本文内容 Java 项目 Maven 项目 Java 项目转换成 Maven 项目 本文主要介绍如何将 Java 项目转换成 Maven 项目.首先要明确的是,用 Maven 管理 Java 项目的确 ...

  3. 将Java项目从maven迁移到gradle

    将Java项目从maven迁移到gradle 如何将一个java项目从maven迁移到gradle呢?gradle集成了一个很方便的插件:Build Init Plugin,使用这个插件可以很方便地创 ...

  4. java gradle入门_Gradle入门:我们的第一个Java项目

    java gradle入门 这篇博客文章描述了如何使用Gradle编译和打包一个简单的Java项目. 我们的Java项目只有一个要求: 我们的构建脚本必须创建一个可执行的jar文件. 换句话说,我们必 ...

  5. Gradle入门:我们的第一个Java项目

    这篇博客文章描述了如何使用Gradle编译和打包一个简单的Java项目. 我们的Java项目只有一个要求: 我们的构建脚本必须创建一个可执行的jar文件. 换句话说,我们必须能够使用以下命令运行程序: ...

  6. java pipeline 实现_Docker+Jenkins+Pipeline实现持续集成(二)java项目构建

    插件推荐 插件名 作用 Blue Ocean Jenkins2.7以后可安装,是Jenkins的一种新视图,能够通过图形化的界面创建和编辑Jenkinsfile,实现pipeline as code ...

  7. idea上java接口自动化_Java接口自动化之IDEA创建及运行maven项目

    本文2564字 阅读约需7分钟第195次推送 Maven作为一个项目管理工具,是一组标准集合,一个项目的生命周期.一个依赖管理系统,以下主要介绍IDEA创建及运行maven项目. 01创建maven项 ...

  8. maven java archetype_使用Maven Archetype创建Java项目模板

    1.over view 简而言之,Archetype是一个Maven项目模板工具包.原型被定义为一种原始的模式或模型,所有其他同类的东西都是从中产生的.当我们试图提供一个提供生成Maven项目的一致方 ...

  9. idea创建java项目目录结构_用IDEA创建一个简单的Maven的JavaWeb项目

    1.项目环境 IDEA:2016.2 JDK:1.8.0_76 Maven:3.2.5 2.File-->New-->Project-->Maven 3.选择Project SDK: ...

最新文章

  1. 中国HBase技术社区第一届Meetup资料大合集
  2. 菜鸟学exchange之一:exchange邮件系统的简单安装和部署
  3. Android 基础(二十四) EditText
  4. 深度学习-Tensorflow2.2-卷积神经网络{3}-卫星图像识别卷积综合实例(二分类)-13
  5. char un 数组printf_c语言中能不能用printf函数直接输出数组?如printf(%d,a[3][3]);
  6. LeetCode 63. Unique Paths II
  7. 下面不是android四大组件之一的是,Android四大组件之一 Service
  8. 力胜机器人_德男子两手臂尺寸悬殊 超粗右臂曾力胜掰手腕机器人
  9. plc与c语言那个工资高点,学会PLC编程后的工资会高吗
  10. idea使用svn拉取项目代码_IDEA使用svn下载项目,并配置svn项目和tomcat进行访问
  11. HTTP报文-请求方式
  12. MEM/MBA英语基础(04) 句子结构 翻译划分练习
  13. 135、137、138、139和445端口解释及关闭方法
  14. errorC1083 无法打开源文件 c1xx
  15. 为IT和互联网写历史
  16. 臀部肌群锻炼方法大全
  17. 【超详细分析】关于三次握手与四次挥手面试官想考我们什么?
  18. 文本每三行合并成一行
  19. GNUPLOT绘图软件学习笔记(1)基本多数据作折线图与cpp调用及一种中文输入办法
  20. 宝尚网上股票-今年A股新股数量与融资额再创新高

热门文章

  1. 从老板进位“一超”、方太列席“多强”,看厨电市场的竞争关键
  2. 关于CSS的一些属性
  3. office visio project安装
  4. 12、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用 == 还是equals()? 它们有何区别?
  5. 写一篇文章记录我的论文之路
  6. 利用免费API找到手机归属地
  7. 《焦虑心理学》——情绪定势
  8. 编程大法—炼体筑基—计算机组成原理
  9. ReactiveCocoa之一
  10. Godfather POJ - 3107 树的重心