1.Java项目:

*    1.1.首先确定引入哪些依赖包,如commons-logging, log4j, selenium
* 1.2.确定项目的目录结构
* 1.3.配置环境:如JDK的版本号
* 1.4.编译打包流程
* 1.5.版本控制:当前代码的版本号
* 1.6.命令行恐惧:除了使用IDE进行编译外,我们还必须能够通过命令行工具进行编译,才能让项目在一个独立的服务器上编译、测试、部署。

2.maven

maven是一个Java项目管理和构建工具:

  • 标准化项目结构
  • 标准化构建流程(编译、打包、发布......)
  • 依赖管理

使用maven管理的普通的Java项目。所有的目录结构都是约定好的标准结构,我们千万不要随意修改目录结构,使用标准的结构不用做任何配置,maven就可以正常使用。



普通Java项目的pom.xml结构:

<?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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--使用groupId, artifactId, version表示当前项目的唯一标示-->
<groupId>csj</groupId>
<artifactId>Feiyang</artifactId>
<version>1.0-SNAPSHOT</version>
<!--packaging表示该项目会打包成一个jar包-->
<packaging>jar</packaging>
<properties>
<!--properties定义一些变量-->
</properties>
<dependencies>
<!--用于描述依赖信息-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

3.创建1个maven项目

File——New Project——Maven Project——Next——maven-archetype-quickstart——Next——填入GroupId,artifactId——finish





自动生成的App.java

public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}

AppTest.java

public class AppTest
{
/**
* Rigorous Test :-)
*/
@Test
public void shouldAnswerWithTrue()
{
assertTrue( true );
}
}

更新部分pom.xml信息后,选择项目,右键——maven——update Project或者Generate Sources and Update Folders

  <groupId>com.forme</groupId>
<artifactId>OneWorld</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging> <name>OneWorld</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version><!--JDK1.8-->
<maven.compiler.source>1.8</maven.compiler.source><!--Java源码使用1.8格式-->
<maven.compiler.target>1.8</maven.compiler.target><!--编译后的class文件采用1.8格式-->
</properties> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>

4.总结:

maven是一个额 Java项目管理的构建工具

maven使用pom.xml定义项目内容,并使用预设的目录结构

在maven中生命一个依赖项目,可以自动下载并倒入classpath

maven使用groupId,artifactId和version唯一定位一个jar包

廖雪峰Java12maven基础-1maven入门-1maven介绍的更多相关文章

  1. 廖雪峰Java12maven基础-1maven入门-3构建流程

    maven是一个Java项目管理和构建工具: 标准化项目结构 标准化构建流程(编译.打包.发布) 依赖管理 Maven的构建流程 clean 删除所有编译生成的文件 compile 编译源码.编译测试 ...

  2. 廖雪峰Java12maven基础-1maven入门-2依赖管理

    maven 如果我们的项目依赖第三方的jar包: Commons Logging发布的jar包在那里下载? 使用Log4j需要哪些jar包 其他依赖:junit,Javamail,MySQL驱动... ...

  3. 廖雪峰Java15JDBC编程-2SQL入门-1SQL介绍

    1.SQL:结构化查询语言 Structured Query Language 针对关系数据库设计 各种数据库基本一致 允许用户通过SQL查询数据而不关心数据库底层存储结构 1.1 SQL使用: 可以 ...

  4. 廖雪峰Java12maven基础-2maven进阶-2模块管理

    1. 把大项目拆分为模块是降低软件复杂度的有效方法 在Java项目中,我们通常会会把一个项目分拆为模块,这是为了降低软件复杂度. 例如:我们可以把一个大的项目氛围module-a, module-b, ...

  5. 廖雪峰Java12maven基础-2maven进阶-1使用插件

    1.maven的Lifecycle,Phase和Goal: 使用maven构建项目就是执行Lifecycle 执行Lifecycle就是按顺序执行一系列Phase 每执行一个Phase,都会执行该Ph ...

  6. git入门笔记汇总——(廖雪峰博客git入门)

    本文内容是对廖雪峰老师Git教程做的笔记,外加一些自己的学习心得,还抱着学以致用的心态来实践一番 如有显示错误 请移步本人github:git教程小结 Git学习笔记 Git简介 安装Git 创建版本 ...

  7. 廖雪峰Java15JDBC编程-2SQL入门-2insert/select/update/delete

    1. INSERT用于向数据库的表中插入1条记录 insert into 表名 (字段1,字段2,...) values (数据1,数据2,数据3...) 示例 -- 如果表存在,就删除 drop t ...

  8. 廖雪峰Java14Java操作XML和JSON-2JSON-1Json介绍

    JSON是一种类似JavaScript对象的数据表示格式 JavaScript Object Notation 去除了JavaScript的执行语句 仅保留数据 JSON格式: 仅保留UTF-8编码 ...

  9. 廖雪峰Java14Java操作XML和JSON-1XML-1XML介绍

    1.XML:可扩展标记语言(extensible Markup Language) 是一种数据表示格式 可以描述非常复杂的数据结构 用于存储和传输数据 1.1XML特点: 1.纯文本,默认utf-8编 ...

随机推荐

  1. 分类-回归树模型(CART)在R语言中的实现

    分类-回归树模型(CART)在R语言中的实现 CART模型 ,即Classification And Regression Trees.它和一般回归分析类似,是用来对变量进行解释和预测的工具,也是数据 ...

  2. PAT_A1102#Invert a Binary Tree

    Source: PAT A1102 Invert a Binary Tree (25 分) Description: The following is from Max Howell @twitter ...

  3. Java笔记之public、protected、default和private

    参考链接:private public protected default区别 - Ma_xiao_shuai的博客 - CSDN博客

  4. Ubuntu18.04 安装搜狗拼音

    参考文章:https://blog.csdn.net/fx_yzjy101/article/details/80243710 1. 安装fcitx sudo apt-get install fcitx ...

  5. 【学术篇】SDOI2008 沙拉公主的困惑

    传送门! 题目在这里... 题目大意? 难道不是说的很清楚了么OvO 求n!中与m!互质的数的个数.. 题目分析. 显然的数论... 所以就是化式子呗.. 一个很显然的性质就是如果\(gcd(a,b) ...

  6. 2019 Multi-University Training Contest 3 B 支配树

    题目传送门 题意:给出衣服有向无环图(DAG),,定义出度为0的点为中心城市,每次询问给出两个点,求破坏任意一个城市,使得这两个点至少有一个点无法到达中心城市,求方案数. 思路:首先建立反向图,将城市 ...

  7. 前端常用的库和实用技术之JavaScript高级函数

    1.惰性载入函数 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  8. Python自学:第四章 在for循环结束后执行一些操作

    # -*- coding: GBK -*- magicians = ['alice', 'david', 'carolina'] for magician in magicians: print(ma ...

  9. 【JZOJ3424】粉刷匠

    description 赫克托是一个魁梧的粉刷匠,而且非常喜欢思考= = 现在,神庙里有N根排列成一直线的石柱,从1到N标号,长老要求用油漆将这些石柱重新粉刷一遍.赫克托有K桶颜色各不相同的油漆,第i ...

  10. goconvey测试模块

    一.介绍 是一款针对Golang的测试框架,可以管理和运行测试用例,同时提供了丰富的断言函数,并支持很多 Web 界面特性. GoConvey 网站 : http://smartystreets.gi ...