欢迎投稿

今日深度:

3.将maven项目jar纳入maven仓库,Mave项目依赖另外一

3.将maven项目jar纳入maven仓库,Mave项目依赖另外一个Maven项目的案例,mavenmave




1 若想让maven项目依赖另外一个maven项目,被依赖的项目要在maven仓库中有相应的jar包,所以要对依赖的项目执行mvninstall命令。

2 新建第二个项目模块HelloFriend目录及约定的目录结构

HelloFriend

 --src

 -----main

 ----------java

 ----------resources

 -----test

 ---------java

 ---------resources

 --pom.xml

3 在项目HelloFriend根目录建立pom.xml

<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.toto.maven</groupId>

  <artifactId>HelloFriend</artifactId>

  <version>0.0.1-SNAPSHOT</version>

  <name>HelloFriend</name>

 

         <dependencies>

                   <dependency>

                            <groupId>junit</groupId>

                            <artifactId>junit</artifactId>

                            <version>4.9</version>

                            <scope>test</scope>

                   </dependency>                 

                  

                   <dependency>

                            <groupId>cn.toto.maven</groupId>

                            <artifactId>Hello</artifactId>

                            <version>0.0.1-SNAPSHOT</version>

                            <scope>compile</scope>

                   </dependency>                 

                  

         </dependencies>

</project>

4 src/main/java/cn/toto/maven目录下新建文件HelloFriend.java文件

package cn.toto.maven;

 

import cn.toto.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";

         }

 

}

5 /src/test/java/cn/toto/maven目录下新建测试文件HelloFriendTest.java

package cn.toto.maven;

 

import static junit.framework.Assert.assertEquals;

 

import org.junit.Test;

 

import cn.toto.maven.Hello;

 

 

public class HelloFriendTest {

         @Test

         public void tesHelloFriend(){

                  

                   HelloFriend helloFriend = new HelloFriend();

                   String results = helloFriend.sayHelloToFriend("tuzuoquan");

                   assertEquals("Hello tuzuoquan! I am John",results);             

 

         }

}

6 HelloFriend目录下执行命令mvn命令(注意到HelloFriend文件夹)

7 重新在HelloFriend目录下执行命令mvnpackage

 


maven项目依赖问题

首先检查依赖写法,包括groupId,version等等,是否与你打包的jar一致。然后再从依赖的那3个jar包找原因,确定依赖的这三个jar包确实已经打包成jar成功,并且不是空的jar,确定依赖的插件库repository能够索引到你定义的这三个jar包。
 

maven 诡异的项目依赖问题

说明你的【被依赖项目】存在错误(maven install生成不了jar),你可以试试install一下【被依赖项目】,看是否能成功在本地仓库生成对应的jar,如果不能,则检查一下【被依赖项目】(即使是测试功能代码也要检查,maven很严格),如果能,则把主项目pom文件的dependency删除,update maven依赖,在加上所删除dependency,update maven依赖即可。
大部分的时候,项目所依赖的 【内部jar】是存在于公司nexus私有仓库中的,所以即使【被依赖的项目】存在错误也不影响使用。但如果nexus没有【内部jar】则会报错。
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/3978.html NewsArticle 3.将maven项目jar纳入maven仓库,Mave项目依赖另外一个Maven项目的案例,mavenmave 1 若想让 maven 项目依赖另外一个 maven 项目,被依赖的项目要在 maven 仓库中有相应的 jar 包,所以要对依赖的...
评论暂时关闭