Maven初级学习(二)Maven使用入门
序,学习配置pom.xml,利用maven生成eclipes项目。
一、编写POM
POM Project Obejct Model,项目对象模型。
编写pom.xml,新建文件夹hello-world,新建名为pom.xml的文件,输入如下:
MVN三大坐标,groupId定义了项目属于哪个组,artifactId定义了当前mvn项目在组中唯一的ID,version指定了artifactId的版本,SNAPSHOT表示快照版本,不稳定。name为项目定义了一个更为友好的名称。
- <?xml version="1.0" encoding="UTF-8"?>
- <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><!--POM模型版本号,对于maven2和maven3,它只能是4.0-->
- <groupId>com.juvenxu.mvnbook</groupId><!--坐标1-->
- <artifactId>hello-world</artifactId><!--坐标2-->
- <!--<packaging>jar</packaging>-->
- <version>1.0-SNAPSHOT</version><!--坐标3-->
- <name>Maven Hello World Project</name>
- <!--<description>Spring Framework: Core</description>
- <url>http://www.springframework.org</url>
- <licenses>
- <license>
- ...
- </license>
- </licenses>
- <scm>
- ...
- </scm>
- <organization>
- ...
- </organization>
- <dependencies>
- <dependency>
- ....
- </dependency>
- </dependencies>
- <distributionManagement>
- <repository>
- ...
- </repository>
- <snapshotRepository>
- ...
- </snapshotRepository>
- </distributionManagement>-->
- </project>
二、编写主代码
maven约定把主代码放到src/main/java/目录下,maven会自动搜寻该目录找到项目主代码。
目录结构如下:
code:
- package com.juvenxu.mvnbook.helloworld;
- public class HelloWorld{
- public String sayHello(){
- return "Hello Maven";
- }
- public static void main(String[] args){
- System.out.print(new HelloWorld().sayHello());
- }
- }
maven clean compile
三、编写测试代码
测试代码需要用到Junit,因此pom.xml需要添加依赖。
scope为test表示该依赖只对测试有效
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.7</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
mvn clean test报错,由于历史原因maven的核心插件之一-compiler插件默认只支持编译Java1.3,需要配置该插件使其支持Java5.
- <build>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.5</source>
- <target>1.5</target>
- </configuration>
- </plugin>
- </build>
四、打包和运行
mvn clean install
将main方法添加进jar包,需要借助maven-shade-plugin。配置该插件如下:
五、使用Archetype生成项目骨架
mvn archetype:generate
六、m2eclipse简单使用
1 导入maven项目
2 创建maven项目
3 运行mvn命令
七、NetBeans Maven插件简单使用
有兴趣的可以自己去查,此处不过多介绍。
Maven初级学习(二)Maven使用入门的更多相关文章
- Maven初级学习(一)手把手教你Maven安装
序:学习安装Maven,在Windows和Unix系统上. 一.Windows系统安装MVN 前提正确安装JDK1.5以上的版本 1 下载最先版Mvn http://maven.opache.org/ ...
- Maven基础学习(一)—Maven入门
一.概述 Maven是一个项目管理工具,它包含了一个项目对象模型(Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管 ...
- Java开发学习(二十三)----SpringMVC入门案例、工作流程解析及设置bean加载控制
一.SpringMVC概述 SpringMVC是隶属于Spring框架的一部分,主要是用来进行Web开发,是对Servlet进行了封装.SpringMVC是处于Web层的框架,所以其主要的作用就是用来 ...
- maven系列之二maven项目的创建和maven项目的结构
maven系列之一简单介绍了maven的基本信息,安装和配置,大家对maven有一个大概的了解,但是在maven项目开发中远远不够,为了进一步了解maven,现在我们介绍maven项目的创建和mave ...
- Maven学习 二 Maven环境搭建
第一步:下载Maven并解压 注意选择镜像地址,选择国内的会快点 解压目录 Maven目录分析 bin:含有mvn运行的脚本 boot:含有plexus-classworlds类加载器框架 conf: ...
- Maven学习(二)-----Maven启用代理访问
Maven启用代理访问 如果你的公司正在建立一个防火墙,并使用HTTP代理服务器来阻止用户直接连接到互联网.如果您使用代理,Maven将无法下载任何依赖. 为了使它工作,你必须声明在 Maven 的配 ...
- Maven初级学习(三)常用命令
依赖关系查看 mvn dependency:list #列表形式展示依赖 mvn dependency:tree #层级关系展示依赖 mvn dependency:analyze #依赖分析 声明周期 ...
- 大数据初级笔记二:Hadoop入门之Hadoop集群搭建
Hadoop集群搭建 把环境全部准备好,包括编程环境. JDK安装 版本要求: 强烈建议使用64位的JDK版本,这样的优势在于JVM的能够访问到的最大内存就不受限制,基于后期可能会学习到Spark技术 ...
- Redis学习二:Redis入门介绍
一.入门概述 1.是什么 Redis:REmote DIctionary Server(远程字典服务器) 是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内 ...
随机推荐
- Deformity JSP Webshell、Webshell Hidden Learning
catalogue . JSP基础语法 . JSP Lexer By Lua . Open Source Code Analyzers in Java . WEBSHELL Samples . she ...
- BackGroundWorker控件的使用注意
该控件有三个事件: DoWork .ProgressChanged 和 RunWorkerCompleted 在程序中调用RunWorkerAsync方法则会启动DoWork事件的事件处理,当在事件处 ...
- 深入学习 memset 函数
最近,和同学讨论了一下memset函数,趁着周五空闲做一总结. memset函数最常用的功能就是初始化数组了(主要是置零),如 #include <iostream> #include & ...
- POJ1025 Department
POJ1025 是一道模拟题. 这题第一个障碍是现在少见的循环电梯 ('pater-noster' elevator) ”The building has `pater-noster' elevato ...
- Java线程池的那些事
熟悉java多线程的朋友一定十分了解java的线程池,jdk中的核心实现类为java.util.concurrent.ThreadPoolExecutor.大家可能了解到它的原理,甚至看过它的源码:但 ...
- Codeforces Round #346 (Div. 2)E - New Reform(DFS + 好题)
E. New Reform time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- UVA1213Sum of Different Primes(素数打表 + DP)
题目链接 题意:选择k个素数,使得和为N(1120)的方案数: 筛选出 <= N 的素数,然后就背包 写的时候没初始dp[0][0] = 1;而且方案数也没相加,真是弱逼 #include &l ...
- java8 中的时间和数据的变化
java8除了lambda表达式之外还对时间和数组这两块常用API做想应调整, Stream 有几个常用函数: store 排序 (a,b)-> a.compareTo(b) 排出来的结果是正 ...
- SVM松弛变量-记录毕业论文3
上一篇博客讨论了高维映射和核函数,也通过例子说明了将特征向量映射到高维空间中可以使其线性可分.然而,很多情况下的高维映射并不能保证线性可分,这时就可以通过加入松弛变量放松约束条件.同样这次的记录仍然通 ...
- JQuery------$.get()和$.post()传递数据的使用方法
菜鸟教程地址: http://www.runoob.com/jquery/jquery-ref-ajax.html html(../Home/Index.cshtml) <!DOCTYPE ht ...