`

用 Maven 编译最简单的 java 程序

 
阅读更多

参考地址: http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

下载 Maven 地址:http://maven.apache.org/download.cgi#Installation

设置 Maven 的环境变量: 变量名:M2_HOME   变量值: C:\apache-maven-3.0.5

设置 Path 的环境变量:C:\apache-maven-3.0.5\bin;

建立maven的目录结构,我在这个基础上新增了A.java B.java 和相应的测试类

my_app
|-- pom.xml
`-- src
    |-- main
    |   `-- java
    |       `-- com
    |           `-- xjh
    |               `-- app
    |                   `-- App.java
    `-- test
        `-- java
            `-- com
                `-- xjh
                    `-- app
                        `-- AppTest.java

App.java
package com.xjh.app;

public class App {
	
	public int add(int a, int b) {
		return a + b;
	}
	
}


AppTest.java
package com.xjh.app;

import org.junit.Test;

import junit.framework.Assert;
import junit.framework.TestCase;

public class AppTest extends TestCase {
	
	public void testAdd() {
		App app = new App();
		Assert.assertEquals(3, app.add(1, 2));
		Assert.assertEquals(2, app.add(1, 1));
	}	
	
}


A.java

package com.xjh.app;

public class A {
	
	public int sum(int a, int b) {
		return a + b;
	}
	
}


B.java

package com.xjh.app;

public class B {
	
	public int sub(int a, int b) {
		return a - b;
	}
	
}


ATest.java

package com.xjh.app;

import org.junit.Test;

import junit.framework.Assert;
import junit.framework.TestCase;

public class ATest extends TestCase {
	
	public void testSum() {
		A a = new A();
		Assert.assertEquals(3, a.sum(1, 2));
		Assert.assertEquals(2, a.sum(1, 1));
	}
	
}


BTest.java

package com.xjh.app;

import org.junit.Test;

import junit.framework.Assert;
import junit.framework.TestCase;

public class BTest extends TestCase {
	
	public void testSub() {
		
		B b = new B();
		Assert.assertEquals(4, b.sub(9, 5));
		Assert.assertEquals(-1, b.sub(5, 6));
		
	}
	
}


AllTest.java

package com.xjh.app;

import junit.framework.Test;
import junit.framework.TestSuite;

public class AllTest {
	
	public static Test suite() {
		TestSuite suite = new TestSuite();
		suite.addTestSuite(ATest.class);
		suite.addTestSuite(BTest.class);
		suite.addTestSuite(AppTest.class);
		
		return suite;
		
	}
	
}


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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.xjh.app</groupId>
  <artifactId>my_app</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>Maven Quick Start Archetype</name>
  <url>http://maven.apache.org</url>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.8.2</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>


在控制台运行

D:\maven_test\my_app>mvn package

运行结果:

D:\maven_test\my_app>mvn package
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Quick Start Archetype 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ my_app ---

[debug] execute contextualize
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e
. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\maven_test\my_app\src\main\resourc
es
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ my_app ---
[WARNING] File encoding has not been set, using platform encoding GBK, i.e. buil
d is platform dependent!
[INFO] Compiling 3 source files to D:\maven_test\my_app\target\classes
[INFO]
[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ my
_app ---
[debug] execute contextualize
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e
. build is platform dependent!
[INFO] skip non existing resourceDirectory D:\maven_test\my_app\src\test\resourc
es
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ my_ap
p ---
[WARNING] File encoding has not been set, using platform encoding GBK, i.e. buil
d is platform dependent!
[INFO] Compiling 4 source files to D:\maven_test\my_app\target\test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.10:test (default-test) @ my_app ---
[INFO] Surefire report directory: D:\maven_test\my_app\target\surefire-reports

-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.xjh.app.AllTest
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.037 sec
Running com.xjh.app.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec
Running com.xjh.app.ATest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec
Running com.xjh.app.BTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec

Results :

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

[INFO]
[INFO] --- maven-jar-plugin:2.3.2:jar (default-jar) @ my_app ---
[INFO] Building jar: D:\maven_test\my_app\target\my_app-1.0-SNAPSHOT.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.973s
[INFO] Finished at: Fri Mar 08 21:44:35 CST 2013
[INFO] Final Memory: 11M/28M
[INFO] ------------------------------------------------------------------------
D:\maven_test\my_app>
分享到:
评论

相关推荐

    maven项目编译jar包

    本文将深入探讨如何使用Maven来编译并创建一个JAR(Java Archive)包,主要涉及以下几个方面: 1. **Maven简介**: Maven是Apache软件基金会开发的一个项目管理工具,它通过一个统一的方式来管理项目的构建、报告...

    基于maven的scala与java相互调用的简单实例

    标题"基于maven的scala与java相互调用的简单实例"揭示了这个示例的核心:在Maven项目中,使用Scala和Java代码互相调用。Scala是一种强大的静态类型编程语言,它在语法上兼容Java,并且提供了函数式编程和面向对象...

    maven构建的java项目demo

    【 Maven 构建的 Java 项目 Demo 深度解析】 在软件开发中,Maven 是一个广泛应用的项目管理和综合工具,尤其对于Java开发者来说,它简化了构建、依赖管理和项目文档生成的过程。本篇文章将深入探讨 Maven 如何用于...

    maven简单web实例

    ** Maven简介 ** Maven是Java开发中的一个项目管理和综合...总结来说,"maven简单web实例"涉及的是使用Maven构建和管理Java Web应用程序的过程,利用Maven的依赖管理和构建生命周期,简化了Web应用的开发和部署流程。

    java系列:maven

    Maven通过使用一个项目对象模型(Project Object Model, POM)来管理项目的构建、报告和文档生成,使得Java开发变得更加简单和规范。 Maven的核心功能包括: 1. **依赖管理**:Maven自动处理项目之间的依赖关系,...

    maven 简单使用教程

    【Maven简单使用教程】 Maven是一个基于Java的构建工具,专为管理和构建Java项目而设计。它简化了项目的构建过程,通过一个统一的构建生命周期和依赖管理机制,使得项目构建更加规范和高效。Maven的最新版本为2.0.9...

    编译运行java带jar包

    下面我们将详细讲解如何编译和运行包含JAR包的Java程序。 1. **编译Java源代码** 在Java开发中,首先我们需要将.java源代码文件编译成.class字节码文件。这通常通过`javac`命令完成。例如,如果你有一个名为`Main...

    maven 开发简单示例

    总的来说,这个“maven 开发简单示例”是学习和实践Java Web服务开发的一个良好起点,涵盖了现代Java开发中关键的三个工具:Maven、Spring和CXF,对于提升开发者的技术栈和实践经验有着积极的促进作用。

    maven下载,供java研发使用

    使用`mvn clean install`命令,Maven将清理旧目标文件,编译源码,运行测试,最后将项目打包到target目录下。 4. **部署**: 当项目完成后,可以使用`mvn deploy`命令将项目部署到远程仓库。 ### Maven的优缺点 ...

    maven 简单示例+部署

    总结来说,Maven通过POM和生命周期简化了Java项目的构建和管理,同时,`distributionManagement`模块和相关的插件如`wagon-ftp`使项目部署变得简单易行。理解并掌握这些基本概念和操作,对于日常的Java开发工作至关...

    使用Gradle构建简单Java程序

    在Java编程中,"Hello World"程序是最简单的输出"Hello, World!"的代码,用于验证环境配置是否正确。我们将使用Gradle来构建这个项目,展示其易用性和效率。 1. **设置Gradle项目** 要开始构建Java项目,首先需要...

    maven-java-console-application:Maven 101课程的Java控制台应用程序源代码-java source code

    在这个"Maven 101课程"的Java控制台应用程序中,我们将深入理解Maven的基本用法及其在创建简单Java应用中的作用。 ** Maven项目结构 ** Maven项目遵循一种约定优于配置的原则,这意味着项目文件的组织方式有标准...

    Maven的简单使用以及Maven搭建SSH

    ** Maven的简单使用以及Maven搭建SSH ** Maven是一个强大的Java项目管理工具,它能够帮助开发者构建、管理和部署项目。Maven通过使用一个统一的项目对象模型(Project Object Model,POM)来描述项目,并利用插件...

    Maven的HelloWorld程序

    下面我们将详细探讨如何创建并运行这个简单的Maven HelloWorld程序。 首先,我们需要了解Maven的基本结构。每个Maven项目都有一个约定优于配置的目录结构,包括以下几个关键部分: 1. **src/main/java**:这是存放...

    ssm+maven+tomcat简单项目源码

    总之,这个"ssm+maven+tomcat简单项目源码"是一个很好的学习平台,涵盖了Java Web开发的关键技术。通过深入研究和实践,可以提升对SSM框架和Maven项目管理的理解,同时也能掌握如何在Tomcat上部署和运行Web应用。

    Maven构建的分布式demo

    Maven作为Java项目管理工具,为构建分布式应用程序提供了强大的支持。本篇将深入探讨如何利用Maven来构建一个简单的分布式系统。 首先,我们从最基础的Maven工程开始。Maven的项目对象模型(Project Object Model,...

    maven3.5.3最新版

    Maven是Java世界中的一款强大的项目管理和构建工具,它极大地简化了Java项目的构建过程,通过一套统一的构建约定,使得项目的构建、依赖管理变得简单而高效。Maven3.5.3是该工具的一个稳定版本,提供了许多改进和新...

    Maven 3 入门 -- 如何创建一个web应用程序

    总结,Maven 3 提供了一种简单而强大的方式来创建和管理 Web 应用程序。通过理解其核心概念和生命周期,开发者可以高效地构建、测试和部署项目。对于初学者来说,学习 Maven 是进入 Java Web 开发的重要一步。

    win下maven创建的hadoop程序demo

    5. **Demo项目"TestHadoop"**:这个项目很可能是为了演示如何在Windows环境下使用Maven构建一个简单的MapReduce程序。开发者通常会包含一个主类,定义Map和Reduce任务,以及一个Driver类来驱动整个MapReduce流程。...

Global site tag (gtag.js) - Google Analytics