`
mingren135
  • 浏览: 72478 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

maven构建工程

 
阅读更多

一、使用Maven构建一个简单的Java项目

 

mvn archetype:generate -DgroupId=com.hy -DartifactId=my-java -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

 

[INFO] Parameter: groupId, Value: com.hy
[INFO] Parameter: packageName, Value: com.hy
[INFO] Parameter: package, Value: com.hy
[INFO] Parameter: artifactId, Value: my-java
[INFO] Parameter: basedir, Value: /home/haha/work/ws
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: /home/haha/work/ws/my-java
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 13.209s
[INFO] Finished at: Fri May 24 08:42:57 CST 2013
[INFO] Final Memory: 15M/116M
[INFO] ------------------------------------------------------------------------

 

<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.hy</groupId>
  <artifactId>my-java</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>my-java</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>

 

<project>      pom文件的顶级节点
<modelVersion>   object model版本,对Maven2和Maven3来说,只能是4.0.0 
<groupId>      项目创建组织的标识符,一般是域名的倒写
<artifactId>    定义了项目在所属组织的标识符下的唯一标识,一个组织下可以有多个项目
<packaging>      打包的方式,有jar、war、ear等
<version>       当前项目的版本,SNAPSHOT,表示是快照版本,在开发中
<name>        项目的名称
<url>        项目的地址
<dependencies>   构建项目依赖的jar
<description>    项目的描述

 

 二、编译程序

1)编译源程序,执行命令:mvn clean compile

[INFO] Compiling 1 source file to /home/haha/work/ws/my-java/target/classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 23.488s
[INFO] Finished at: Fri May 24 08:54:24 CST 2013
[INFO] Final Memory: 15M/116M
[INFO] ------------------------------------------------------------------------

 2)测试,执行命令:mvc clean test

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running com.hy.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.04 sec

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 26.810s
[INFO] Finished at: Fri May 24 08:55:52 CST 2013
[INFO] Final Memory: 16M/117M
[INFO] ------------------------------------------------------------------------

 3)打包,执行命令:mvc clean package,执行打包命令前,会先执行编译和测试命令

[INFO] Building jar: /home/haha/work/ws/my-java/target/my-java-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 16.709s
[INFO] Finished at: Fri May 24 09:03:25 CST 2013
[INFO] Final Memory: 19M/117M
[INFO] ------------------------------------------------------------------------

 4)安装,执行命令:mvc clean install ,执行安装命令前,会先执行编译、测试、打包命令

[INFO] Installing /home/haha/work/ws/my-java/pom.xml to /home/haha/.m2/repository/com/hy/my-java/1.0-SNAPSHOT/my-java-1.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 13.877s
[INFO] Finished at: Fri May 24 09:05:30 CST 2013
[INFO] Final Memory: 22M/118M
[INFO] ------------------------------------------------------------------------

 5)运行jar包,执行命令:java -cp target/my-java-1.0-SNAPSHOT.jar com.hy.App

java -cp target/my-java-1.0-SNAPSHOT.jar com.hy.App
Hello World!

 6)编译成eclipse工程并导入,执行命令:mvn eclipse:eclipse

[INFO] Using Eclipse Workspace: /home/haha/work/ws
[INFO] Adding default classpath container: org.eclipse.jdt.launching.JRE_CONTAINER
[INFO] Not writing settings - defaults suffice
[INFO] Wrote Eclipse project for "my-java" to /home/haha/work/ws/my-java.
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 25.461s
[INFO] Finished at: Fri May 24 09:15:34 CST 2013
[INFO] Final Memory: 14M/117M
[INFO] ------------------------------------------------------------------------

 

 

三、web项目搭建

1) 生成工程,执行:mvn archetype:generate -DgroupId=com.hy -DartifactId=my-web -DarchetypeArtifactId=maven-archetype-webapp -DinteractivMode=false

[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-webapp:1.0
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.hy
[INFO] Parameter: packageName, Value: com.hy
[INFO] Parameter: package, Value: com.hy
[INFO] Parameter: artifactId, Value: my-web
[INFO] Parameter: basedir, Value: /home/haha/work/ws
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: /home/haha/work/ws/my-web
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 34.159s
[INFO] Finished at: Sun May 26 22:25:49 CST 2013
[INFO] Final Memory: 13M/116M
[INFO] ------------------------------------------------------------------------

 2)打包,执行:mvn package

[INFO] Packaging webapp
[INFO] Assembling webapp [my-web] in [/home/haha/work/ws/my-web/target/my-web]
[INFO] Processing war project
[INFO] Copying webapp resources [/home/haha/work/ws/my-web/src/main/webapp]
[INFO] Webapp assembled in [137 msecs]
[INFO] Building war: /home/haha/work/ws/my-web/target/my-web.war
[INFO] WEB-INF/web.xml already added, skipping
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 19.123s
[INFO] Finished at: Sun May 26 22:31:05 CST 2013
[INFO] Final Memory: 14M/114M
[INFO] ------------------------------------------------------------------------

3)将生成的war包copy到服务器,如jetty的wapapps目录

4)使用maven的jetty插件,启动8080端口,访问web应用,执行,mvn jetty:run

<pluginManagement>
    <!--配置Jetty-->
    <plugins>
      <plugin>
        <groupId>org.mortbay.jetty</groupId>   
        <artifactId>maven-jetty-plugin</artifactId>
      </plugin>
    </plugins>
</pluginManagement>

 

 

 

 

 

分享到:
评论

相关推荐

    通向架构师的道路(第十九天)使用maven构建Spring工程.docx

    而使用Maven构建工程时,我们可以避免这些问题。Maven可以帮助我们自动处理jar包依赖关系,使我们不再需要担心缺少某些jar文件或重复的jar文件的问题。Maven可以自动下载我们需要的jar文件,并且不会多拿一些不必要...

    maven构建项目工程

    在"Maven构建项目工程"中,我们可以深入了解Maven如何帮助我们快速、简便地创建和管理项目。 首先,创建一个新的Maven项目可以使用`mvn archetype:create`命令。在这个例子中,我们使用了`-DgroupId=org.lzk.ssh`和...

    Maven构建的分布式demo

    【Maven构建的分布式demo】 在现代软件开发中,分布式系统已经成为主流,它能提高系统的可扩展性、容错性和性能。Maven作为Java项目管理工具,为构建分布式应用程序提供了强大的支持。本篇将深入探讨如何利用Maven...

    Spring in Action 使用Maven 构建Spring 工程

    《Spring in Action》一书是Spring框架的实践指南,它深入介绍了如何使用Maven构建Spring工程。Maven是一个流行的项目管理和综合工具,它通过提供一套标准化的构建过程,简化了Java项目的构建、依赖管理和部署。在...

    maven-3.5.0多工程构建(spring4mvc分子项目)

    maven-3.5.0多工程构建(spring4mvc分子项目) 使用maven构建多模块项目。在一个项目中使用多个模块的一个方法是将模块... maven maven3.5.0 多工程构建 spring4mvc 子项目 maven构建项目 多模块项目 maven构建WEB项目

    MAVEN构建的工程无法发布lib到tomcat的解决方

    Maven构建项目发布到Tomcat的解决方案 Maven是一款流行的项目管理和构建工具,广泛应用于Java项目的开发和构建中。然而,在使用Maven构建项目时,可能会遇到发布到Tomcat服务器的困难,这是由于Maven的构建机制和...

    SpringBoot+maven构建Web项目(Maven父子工程)

    本文将详细介绍如何使用SpringBoot和Maven构建一个Web项目,并通过父子工程的方式来组织项目结构。 首先,理解Maven的父子工程结构至关重要。在大型项目中,通常会采用多模块的架构,以便于代码的管理和维护。父子...

    maven构建web工程

    ** Maven构建Web工程详解 ** Maven是一款强大的项目管理和依赖管理工具,广泛应用于Java开发领域。它通过统一的构建过程和约定优于配置的原则,极大地简化了项目的构建、编译、测试和部署流程。在本篇内容中,我们...

    Maven聚合工程源码

    "Maven聚合工程源码"是指一个包含多个子项目的Maven工程,这些子项目共享同一个父POM(Project Object Model),用于统一管理和构建。 在Maven聚合工程中,父POM通常不包含任何代码,而是作为子项目之间的协调者。...

    maven聚合工程demo

    Maven 聚合工程允许我们将多个 Maven 项目组合成一个单一的构建单元。这在处理多模块项目时非常有用,它使得我们能够一次性构建所有子模块,而不需要逐个执行构建命令。在"maven聚合工程demo"中,我们可以看到一个主...

    maven 逆向逆向工程

    Maven逆向工程是一种技术手段,主要用于从已有的Java项目中恢复构建过程,即从已编译的类中重建源代码的Maven项目结构。在软件开发过程中,有时我们可能需要处理没有完整源码或者缺少构建配置的遗留项目,此时Maven...

    maven多工程搭建过程

    Maven多工程搭建过程详解 在Java开发中,Maven作为项目构建工具,广泛应用于大型项目的模块化管理。本文将详细讲解如何在IntelliJ IDEA(Idea)中创建和管理多Maven模块工程,以便更好地组织和协同开发复杂的软件...

    6-Maven构建分布式工程1

    【标题】:“6-Maven构建分布式工程1” 【描述】:本教程主要讲解如何使用Maven来构建一个分布式系统工程的结构和配置。在描述中提到了几个关键的项目模块,如`common-parent`作为父工程,以及`common-config`、`...

    hibernate+maven demo项目工程

    【hibernate+maven demo项目工程】是一个基于Hibernate ORM框架和Maven构建工具的示例项目,旨在帮助开发者理解和实践如何在实际开发中整合这两项技术。该项目的主要目的是展示如何利用Maven管理依赖,以及如何配置...

    Maven构建项目文档

    - `mvn eclipse:eclipse`: 将 Maven 项目转换为 Eclipse 工程,生成 `.project` 和 `.classpath` 文件。 - `mvn eclipse:myeclipse`: 除了基本的 Eclipse 属性,还会添加 Web 项目所需的属性。 - `mvn eclipse:clean...

    搭建maven工程

    Maven 是一种基于 Java 的项目管理和构建工具,广泛应用于 Java 项目开发中。搭建 Maven 工程是 Java 开发者的必备技能。本文将指导读者从无到有搭建一个 Maven 工程,包括创建多模块工程、子模块的建立、修改父、子...

    spring+maven项目工程

    Maven则是一个强大的项目管理和构建工具,它帮助开发者管理依赖、构建项目以及执行自动化测试。本项目工程"spring+maven"整合了这两者,以实现高效且易于维护的Java应用。 首先,让我们深入理解Spring框架的核心...

    maven构建项目,整合springmvc jpa

    现在,让我们深入探讨一下“maven构建项目,整合springmvc jpa”的相关知识点。 首先,Maven是Apache软件基金会开发的一个项目管理和综合工具。它管理项目的构建、报告和文档,通过依赖管理和项目信息管理,使得...

    maven逆向工程和分页插件

    在Java领域,Maven是一款广泛使用的项目管理和集成工具,它可以帮助开发者管理项目的依赖、构建流程以及打包发布等任务。在这个“maven逆向工程和分页插件”项目中,我们将探讨如何利用Maven集成逆向工程插件,以及...

    maven如何使用 Jenkins 通过 Maven 构建简单 Java 应用程序的入门教程

    **内容概要**:本教程介绍如何使用 Jenkins 通过 Maven 构建一个简单的 Java 应用程序。内容涵盖 Jenkins 的安装与配置、Maven 项目的创建与配置、Jenkins 与 Maven 的集成,以及自动构建的实现过程。教程包含详细的...

Global site tag (gtag.js) - Google Analytics