DOS命令行中用MAVEN构建 Java 和 Java Web 项目
groupId与artifactId惟一标识一个项目,它们也决定了这个项目在依赖库中的位置,这条
命令执行完毕后,在执行
命令的路径下会出现如下目录结构:
--TestProject
----src
------main
--------java
----------com
------------test
------test
--------java
----------com
------------test
并且在TestProject中生成了一个pom.xml文件,内容是一个项目应该有的最基本的配置,并且
Maven默认添加了Junit的依赖,以此来鼓励单元测试。
Maven的一个优点就是使用标准的目录结构,从上面的目录结构可以看出来,标准的目录结构中有两棵源代码树,一棵是Java应用程序的代码树,一棵是单元测试代码树。
在执行创建项目的
命令时,
Maven会下载一些文件,当你开始调用工具时,
Maven会根据你使用的插件来更新自身的一些功能。创建完项目后,
在项目的pom.xml文件所在的目录下可以执行各种
Maven命令,常用的有如下几种:
mvn test:运行应用程序中的单元测试
mvn package:依据项目生成jar文件
mvn install:将项目的jar文件添加到库中,以备依赖此项目时使用
mvn site:生成项目相关信息的网站
mvn clean:清除目标目录中的生成结果
mvn eclipse:eclipse:生成Eclipse项目文件
命令行(开始-运行-
cmd)进入一个自定义文件夹 www.it165.net
命令行中输入:mvn archetype:create -DgroupId=com.testweb -DartifactId=TestWebProject -DarchetypeArtifactId=
maven-archetype-webapp
----src
------main
--------resources
--------webapp
----------WEB-INF
同样,在TestWebProject目录下也生成了pom.xml文件,并且在WEB-INF目录下生成了web.xml文件;不同的是,现在的项目打包不再是jar包,而是war包,可查看pom.xml文件中的package标签:<packaging>war</packaging>。另外,可以使用finalName标签来改变war包的名称,如:
<build>
<finalName>NewWarName</finalName>
</build>
在使用mvn package
命令打包的时候,不必担心WEB-INF/lib中的依赖包如何得到,依赖属性值被设置成compile的情况下,
Maven会自动包含依赖项。
使用
Maven的一大好处就是可以统一管理依赖关系。为项目添加依赖关系也非常的简单,只需要添加一个dependency标签即可,如:
<dependency>
<groupId>quartz</groupId>
<artifactId>quartz</artifactId>
<scope>compile</scope>
</dependency>
其中,groupId、artifactId和version指定了特定的依赖包及其版本;scope的取值有如下几种:
compile:默认值。表明是所有任务所需的资源
test:运行所有的测试用例时所需资源
runtime:表明是运行时所需资源
provided:JDK部分或应用服务器的classpath所需的资源
DOS命令行中用MAVEN构建 Java 和 Java Web 项目的更多相关文章
- 使用spring 4.0 + maven 构建超简单的web项目
一.需求 使用spring去管理web项目,是目前非常流行的一种思路,本文将介绍使用maven+spring 4.0.2 来构建一个简单的web项目. 二.实现 1.新建一个maven项目,如下图所示 ...
- 快捷键和功能键、进入DOS命令行的方法、DOS命令讲解、java跨平台原理、JRE和JDK的定义、书写格式
快捷键和功能键A:键盘功能键* a:Tab* b:Shift* c:Ctrl* d:Alt* e:空格 * f:Enter* g:Window* h:上下左右键* i:PrtSc(PrintScree ...
- 使sublimetext3在ubuntu下可以打中文和在windows的dos命令行下正常显示中文
学习闲暇之余,总结一下在windows和ubuntu下使用sublimetext3遇到的问题 一.关于sublimetext3在windows的dos命令行下不能编译运行中文的解决方案: 因为dos命 ...
- dos命令行运行.class源文件错误解决办法
dos命令行运行java源文件 public static void main(String[] args) throws IOException { // TODO Auto-generated m ...
- DOS命令行简单用法
DOS命令行简单用法 基本用法 1.cd(回车)从当前目录切回到根目录. 2.dir(回车)列出当前目录下的所有文件. 3.md kkk(回车)在当前目录下创建一个名称为kkk的文件夹. 4.rd k ...
- 使用命令行创建maven web项目
一,前言 遇到了一个非常简单的maven命令: 总的来说,这是一个用maven创建一个jersey快速开始项目的maven命令. 这次不妨使用maven命令来构建项目,看体验如何. 在文章idea m ...
- windows系统下在dos命令行kill掉被占用的pid (转)
原文出自:http://www.2cto.com/os/201304/203771.html windows系统下在dos命令行kill掉被占用的pid 1.开始-->运行-->c ...
- dos命令行连接数据库
dos命令行连接数据库 (2012-03-22 21:26:16) 转载▼ 标签: it C:\Adminstrator> sqlplus "/as sysdba" 查看 ...
- DOS命令行中的双引号
在DOS命令窗口下,运行C:\Program Files\WinRAR\WinRAR.exe,提示如下错误: 因为C:\Program Files\WinRAR\WinRAR.exe中含有空格,它被分 ...
随机推荐
- 【HDOJ】5128
暴力+计算几何. /* 5128 */ #include <iostream> #include <algorithm> #include <cstdio> #in ...
- a great tool for automatically formating your code!
1. make your own format file at your project's root or file's folder. (The clang-format will automat ...
- 数据结构(线段树):BZOJ 3126: [Usaco2013 Open]Photo
3126: [Usaco2013 Open]Photo Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 222 Solved: 116 Descrip ...
- 如何解决编译linux内核(解决声卡问题),遭遇fatal error: linux/limits.h: 没有那个文件或目录
最近帮一位上海的朋友搞一块小板,在ubuntu15.04 vivid上已经加载了对应了.ko驱动包 但关键是系统根本就枚举不到该声卡ALC5640,试了OpenSUSE也是一样的结果,看来是内核漏加载 ...
- 算法对比:Prim算法与Dijskra算法
在图论中,求MST的Prim算法和求最短路的Dijskra算法非常像.可是我一直都对这两个算法处于要懂不懂的状态,现在,就来总结一下这两个算法. 最小生成树(MST)—Prim算法: 算法步骤: •将 ...
- [转载]Python兵器谱
转载自:http://www.52nlp.cn/python-网页爬虫-文本处理-科学计算-机器学习-数据挖掘 曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,虽然 ...
- Java Spring的 JavaConfig 注解
序 传统spring一般都是基于xml配置的,不过后来新增了许多JavaConfig的注解.特别是springboot,基本都是清一色的java config,不了解一下,还真是不适应.这里备注一下. ...
- K - Candies(最短路+差分约束)
题目大意:给N个小屁孩分糖果,每个小屁孩都有一个期望,比如A最多比B多C个,再多了就不行了,会打架的,求N最多比1多几块糖 分析:就是求一个极小极大值...试试看 这里需要用到一个查分约束的东西 下面 ...
- iOS状态栏颜色
下面截图给出修改 iOS 状态栏颜色的 4 种方式 Target.png Info.plist.png Storyboard.png code.png 其中第四张图中的代码,直接写在你的任何一个 Vi ...
- 在javascript中使用媒体查询media query
由于需要,我们可能会在js中用到一些media query,从而针对不同的分辨率做一些操作. //全兼容的 事件绑定 and 阻止默认事件 var EventUtil = { //Notice: ty ...