maven的文件有自己的组织方式,例如以下所看到的:

---maven

----src

---main

----java

---test

----java

-----pom.xml

当运行完mvn compile之后会在src的同级文件夹生成target文件夹,里面包括.class文件

以下是俩个样例

example 1:

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

        <modelVersion>4.0.0</modelVersion>

        <groupId>zttc.itat.maven</groupId>

        <artifactId>maven_ch01</artifactId>

        <version>0.0.1-SNAPSHOT</version>

        

        <dependencies>

             <dependency>

                 <groupId>junit</groupId>

                 <artifactId>junit</artifactId>

                 <version>4.11</version>

             </dependency>

        </dependencies>

</project>

HelloMaven.java

package com.fjj;



public class HelloMaven {

      public String sayHello(String name){

         return "hello:"+name;

      }

}

TestHelloMaven.java

package com.fjj;



import org.junit.*;

import static org.junit.Assert.*;



public class TestHelloMaven {

     @Test

     public void testSayHello(){

         HelloMaven hm = new HelloMaven();

         String str = hm.sayHello("maven");

         assertEquals(str,"hello:maven");

     }

}

运行mvn compile

然后运行mvn install (把生成的jar包放到本地repository中)

Example2

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

        <modelVersion>4.0.0</modelVersion>

        <groupId>zttc.itat.maven</groupId>

        <artifactId>maven_ch02</artifactId>

        <version>0.0.1-SNAPSHOT</version>

        

        <dependencies>

             <dependency>

                 <groupId>junit</groupId>

                 <artifactId>junit</artifactId>

                 <version>4.11</version>

             </dependency>

             <dependency>

                 <groupId>zttc.itat.maven</groupId>

                 <artifactId>maven_ch01</artifactId>

                 <version>0.0.1-SNAPSHOT</version>

             </dependency>

        </dependencies>

</project>

Hello.java

package com.fjj;



import com.fjj.HelloMaven;



public class Hello {

     public String say(String name){

        HelloMaven hm = new HelloMaven();

        return hm.sayHello("maven");

     }

}

运行mvn compile

当中example2使用了example1生成的jar包。

运行mvn compile时,maven插件会依据pom.xml文件到本地repository去找相应的jar包,假设没有,则会去中央repository去下载相应的jar包,mvnrepository的网址为http://www.mvnrepository.com/能够在mvnrepository中找到每一个jar包的坐标。坐标由<groupId><artifactId><version>构成相应<项目><模块><版本号>.

eg:junit


maven的学习系列(二)—maven的文件夹结构的更多相关文章

  1. 【.Net 学习系列】-- FileSystemWatcher 监控文件夹新生成文件,并在确认文件没有被其他程序占用后将其移动到指定文件夹

    监控文件夹测试程序: using System; using System.Collections.Generic; using System.IO; using System.Linq; using ...

  2. Maven学习系列二(1-5)

    Maven学习系列二(1-5) 本文转自 QuantSeven 博客,讲解精炼易懂,适合入门,链接及截图如下 http://www.cnblogs.com/quanyongan/category/47 ...

  3. (转)Maven学习总结(二)——Maven项目构建过程练习

    孤傲苍狼 只为成功找方法,不为失败找借口! Maven学习总结(二)——Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项 ...

  4. maven的学习系列(四)—创建maven项目注意事项

    文件夹: <1> 中央工厂的位置 <2>mvn archetype:generate <3>Eclipse配置maven <4>在Eclipse中创建简 ...

  5. Oracle11g R2学习系列 之四Maven+Struts+Spring实验

    今天试一下Java调用Oracle来看一下.会不会也如昨天实验的一样坑呢?由于我对于Java也接触的不多,所以不打算直接使用该收提供的实验文档,而是自己利用Maven+Struts+Spring来自己 ...

  6. MyBatis学习系列二——增删改查

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...

  7. scrapy爬虫学习系列二:scrapy简单爬虫样例学习

    系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备:      http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...

  8. Python学习系列(五)(文件操作及其字典)

    Python学习系列(五)(文件操作及其字典) Python学习系列(四)(列表及其函数) 一.文件操作 1,读文件      在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出 ...

  9. .net reactor 学习系列(二)---.net reactor界面各功能说明

    原文:.net reactor 学习系列(二)---.net reactor界面各功能说明         安装了.net reactor之后,可以在安装目录下找到帮助文档REACTOR_HELP.c ...

随机推荐

  1. selenium - js日历控件处理

    # 13. js处理日历控件 ''' 在web自动化的工程中,日历控制大约分为两种: 1. 可以直接输入日期 2. 通过日历控件选择日期 基本思路: 利用js去掉readonly属性,然后直接输入时间 ...

  2. python基础补漏-08-异常处理

    try: #正常代码逻辑 ins = raw_input("this is a tast:") print ins+1 except Exception,e: print e -- ...

  3. python随机数的产生

    导入 random模块  >>> import random 1.  random.random random.random()用于生成一个0到1的随机浮点数: 0 <= n ...

  4. April Fools Contest 2018

    这个比赛不正经,但是我可以一本正经的写代码啊 A. Quirky Quantifiers time limit per test 2 seconds memory limit per test 64 ...

  5. hihoCoder #1349 Nature Numbers

    题目大意 考虑自然数构成的序列 $a$:$01234567891011\dots$,序列下标从 $0$ 开始,即 $a_0 =0, a_1 = 1$ . 求 $a_n$($0\le n\le 10^{ ...

  6. BZOJ 4553 [Tjoi2016&Heoi2016]序列 ——CDQ分治 树状数组

    考虑答案的构成,发现是一个有限制条件的偏序问题. 然后三个维度的DP,可以排序.CDQ.树状数组各解决一维. #include <map> #include <cmath> # ...

  7. python 粘包问题及解决方法

    一粘包 TCP协议是面向对象的,面向流的,提高可靠性服务.使用了优化算法,Nagle算法.将多次间隔较少且数据量小的数据,合并成一个大的数据块,然后进行封包.这样接收端就很难分辨出来.TCP协议数据是 ...

  8. RTSP、 RTMP、HTTP的共同点、区别(转)

    共同点: 1:RTSP.RTMP.HTTP都是在应用层. 2:理论上RTSP.RTMP.HTTP都可以做直播和点播,但一般做直播用RTSP.RTMP,做点播用HTTP.做视频会议的时候原来用SIP协议 ...

  9. dedecms--后台添加会员栏目(批量添加)

    最近在用dedecms二次开发会员功能,一开始做了一个会员添加,但是领导要求可以批量添加,最好是可以输入添加个数:这样我想添加几个就添加几个了 1:会员添加的htm页面 <html> &l ...

  10. fetch格式

    fetch('url'+参数a, { method: "GET", body: json } .then(res => response.json()) .then(cons ...