创建第二个 maven (依赖的使用)(注:这篇博文与上一篇博文内容关系密切)

1、第二个工程的创建:


a、它的目录层次结构为下图所示:

注:第二个 maven 工程和第一个maven 工程保存的目录一样,和 .metadata同在一个目录下。

b、pom.xml文件 以及 HelloFriend.java 和 HelloFriendTest.java 文件填写的内容为:

<?xml version="1.0" ?>
<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>cn.geeliGreed.maven</groupId>
    <artifactId>HelloFriend</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>HelloFriend</name> 
    <dependencies>

<dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.0</version>
            <scope>test</scope>
        </dependency>

<dependency>
            <groupId>cn.geeliGreed.maven</groupId>
            <artifactId>Hello</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <scope>compile</scope>
        </dependency>

</dependencies>
</project>

package cn.geeliGreed.maven;   
import cn.geeliGreed.maven.Hello;

public class HelloFriend {
    public String sayHelloToFriend(String name){
        Hello hello = new Hello();
        String str = hello.sayHello(name)+" I am "+this.getMyName();
        System.out.println(str);
        return str;
    }
    public String getMyName(){
        return "John";
    }
}

package cn.geeliGreed.maven;    
import static junit.framework.Assert.assertEquals;
import org.junit.Test;
import cn.geeliGreed.maven.Hello;
public class HelloFriendTest {
    @Test
    public void testHelloFriend(){
        HelloFriend helloFriend = new HelloFriend();
        String results = helloFriend.sayHelloToFriend("litingwei");
        assertEquals("Hello litingwei! I am John",results);    
    }
}

注:可以看到,HelloFriend.java 文件中的内容(import cn.geeliGreed.maven.Hello;)使用了我们第一个工程中的 Hello.java 类。(使用 dependency 定位另一个工程的位置和名字)

2、maven 的 pom.xml 文件中的依赖问题:(一个 maven 工程依赖于另一个 maven 工程)

a、在终端中进入指定的 maven 工程下有 pom.xml 文件的目录,键入 mvn compile,发现编译错误:

错误解析:执行在项目中的 HelloFriend 目标错误,不能够解析依赖的项目。

b、我们发现在 RepMaven(即本地仓库)并没有 cn 这个目录,即本地仓库中并没有 该 jar 包。

c、查询资料发现,maven 解析依赖信息时会到本地仓库中查找被依赖的 jar 包。对于我们自己开发的 maven 工程,使用 mvn install 命令安装后就可以进入仓库。

注:在 Hello 目录下,即有 pom.xml 文件的目录下执行 mvn install 后,发现在 本地仓库中已有 该目录,以及该目录下对应的文件。

d、再切换成 HelloFriend 指定的 maven 工程下指定有 pom.xml 文件的目录,键入 mvn compile,发现操作成功。

注:在 HelloFriend 目录下已经生成了 target 目录。

时间: 2024-10-08 09:21:35

创建第二个 maven (依赖的使用)(注:这篇博文与上一篇博文内容关系密切)的相关文章

MyEclipse&amp;Maven项目管理教程:创建Java Maven依赖项目(转载)

本教程介绍了如何通过MyEclipse Web项目,或者其他任何Maven项目来创建一个通用的Java/Maven项目.这些步骤包括基础的创建和使用Maven依赖.您将学习到: 创建一个Maven实用项目 为一个项目添加依赖关系 添加实用项目作为一个依赖关系 没有MyEclipse?立即下载 1. 创建一个Maven实用项目 Maven实用项目将被现有的Maven项目消耗. (1)创建一个Maven项目支持消耗在本教程中创建的项目. (2)选择File>New>Project,在搜索栏中输入M

在MyEclipse中创建Java Maven依赖项目

本教程介绍了如何通过MyEclipse Web项目,或者其他任何Maven项目来创建一个通用的Java/Maven项目.这些步骤包括基础的创建和使用Maven依赖.您将学习到: 创建一个Maven实用项目 为一个项目添加依赖关系 添加实用项目作为一个依赖关系 没有MyEclipse?立即下载 1. 创建一个Maven实用项目 Maven实用项目将被现有的Maven项目消耗. (1)创建一个Maven项目支持消耗在本教程中创建的项目. (2)选择File>New>Project,在搜索栏中输入M

Maven依赖总结

一:依赖范围 Maven在编译项目主代码的时候需要使用一套classpath.其次,在编译和执行测试的时候会使用另外一套classpath.最后,实际运行Maven项目的时候,又会使用一套classpath. 所谓的依赖范围就是用来控制依赖与这三种classpath(编译.测试.运行)的关系,Maven有以下几种依赖范围: compile:编译依赖范围.如果没有指定,默认使用该依赖范围.使用此依赖范围时,对于编译.测试.运行都有效.例如:spring-core,编译.测试.运行时都需要使用该依赖

Ubuntu 14.04 Android 使用Maven二 创建自己的Maven工程

根据https://code.google.com/p/maven-android-plugin/wiki/GettingStarted 介绍,有两种方法可以创建Maven工程. 第一种方法是用archetype, 但是我使用了之后,发现archetype产生的项目编译时有一个依赖找不到,不管了,先换其他方法. 第二种方法就是使用android命令行创建项目,然后复制例子代码工程的pom文件并修改, Ubuntu 14.04 设置Android开发环境 描述了如何用命令行创建项目 Ubuntu

Java-Maven(七):Eclipse中Maven依赖、聚合、继承特性

之前通过学习了解,maven集成到eclipse中的如何创建项目,以及maven命令插件在eclipse中安装后的用法.那么接下来我们将会学习一些maven在项目中的一些特性,及如何使用. Maven依赖特性 Maven聚合特性 Maven继承特性

Maven 系列 二 :Maven 常用命令,手动创建第一个 Maven 项目

1.根据 Maven 的约定,我们在D盘根目录手动创建如下目录及文件结构: 2.打开 pom.xml 文件,添加如下内容: 1 <project xmlns="http://maven.apache.org/POM/4.0.0" 2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

Maven 系列 二 :Maven 常用命令,手动创建第一个 Maven 项目【转】

1.根据 Maven 的约定,我们在D盘根目录手动创建如下目录及文件结构: 2.打开 pom.xml 文件,添加如下内容: 1 <project xmlns="http://maven.apache.org/POM/4.0.0" 2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

spring framework体系结构及内部各模块jar之间的maven依赖关系

很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下一次创建相同类型的工程时也不知道要配置哪些spring的依赖,只有拷贝,其实,当初我就是这么干的! spring的jar包只有20个左右,每个都有相应的功能,一个jar还可能依赖了若干其他jar,所以,搞清楚它们之间的关系,配置maven依赖就可以简洁明了,下面举个例子,要在普通java工程使用sp

如何创建一个基于Maven的SmartGWT项目

如何创建一个基于Maven的SmartGWT项目 使用环境 Eclipse的版本为:Luna Service Release 2 (4.4.2)(这个其实不是很重要,你完全可以使用最新版本的Eclipse或者MyEclipse) Maven的版本为:3.1.0 SmartGWT的版本为:6.0p GWT的SDK版本为:2.7 前提准备 你需要安装Maven.如何安装Maven不是文本的内容,你可以参考我的关于Maven的博客. 把SmartGWT的jar包上传到私服服务器. 操作过程 创建GWT