`

Maven构建之依赖关系

阅读更多
上一节建立了两个项目,依赖关系是由app项目提交jar到maven库中,然后wabapp加载依赖库实现的.
这一节介绍使用项目间的依赖关系,比如我这个项目必须与另一个项目共存,那么可以建立依赖关系.
以下是在两个项目的上级目录建立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/maven-v4_0_0.xsd"> 
  
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.test</groupId>
     <artifactId>demo</artifactId>
     <packaging>pom</packaging>
     <version>1.0.0-SNAPSHOT</version>
     <name>CE Maven Demo</name>
     
     <modules>
         <module>app</module>
         <module>webapp</module>
     </modules>

     
   <dependencyManagement>
		<!--webx-3.0 related-->
		  <dependencies>
			
			<dependency>
				<groupId>com.test.app</groupId>
		    <artifactId>app</artifactId>
		    <version>1.0-SNAPSHOT</version>
			</dependency>
			
			<dependency>
				<groupId>com.test.app</groupId>
		    <artifactId>webapp</artifactId>
		    <version>1.0-SNAPSHOT</version>
			</dependency>

			
		 <dependency>
         <groupId>javax.servlet</groupId>
         <artifactId>servlet-api</artifactId>
         <version>2.4</version> 
         <scope>provided</scope>
     </dependency>
     
     <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
			
			</dependencies> 
	</dependencyManagement>  
 </project>

这里指定了gav,还指定了module,子模块依赖的架包及版本号.
子项目app:
<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>
	<parent>
		<groupId>com.test</groupId>
		<artifactId>demo</artifactId>
		<version>1.0.0-SNAPSHOT</version>
	</parent>

  <groupId>com.test.app</groupId>
  <artifactId>app</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>app</name>
  <url>http://maven.apache.org</url>

  	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
				</configuration>
			</plugin>
		</plugins>
	</build>

  <dependencies>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
    </dependency>

  </dependencies>
</project>

指定了gav,还指定了其parent,引入的jar,还设置了maven的编译级别,因为maven还停留在1.3,现在基本上是1.6了。
子项目webapp:
<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>
	<parent>
		<groupId>com.test</groupId>
		<artifactId>demo</artifactId>
		<version>1.0.0-SNAPSHOT</version>
	</parent>
	<groupId>com.test.app</groupId>
	<artifactId>webapp</artifactId>
	<packaging>war</packaging>
	<version>1.0-SNAPSHOT</version>
	<name>webapp Maven Webapp</name>
	<url>http://maven.apache.org</url>

	 <build>
		<finalName>webapp</finalName>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
				</configuration>
			</plugin>
		<!--
			<plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>tomcat-maven-plugin</artifactId>
                <configuration>
                    <url>http://127.0.0.1:9001/manager</url>
                    <server>test</server>
                    <path>/</path>
                </configuration>
            </plugin>
         -->
		</plugins>
	</build>

	<dependencies>

		<dependency>
			<groupId>com.test.app</groupId>
			<artifactId>app</artifactId>
		</dependency>

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
		</dependency>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
		</dependency>

	</dependencies>

</project>


这里所引用的项目代码与上一讲相同。
在两个项目的上级执行 mvn eclipse:eclipse 可以生成两个项目的eclipse项目
执行mvn package 可以打包,查看target可以看到app的jar已经打到webapp当中。
发布到tomcat下运行正常。
分享到:
评论

相关推荐

    maven依赖关系

    该资源包含了一个maven的依赖关系的源代吗,包含了给予maven构建的hibernate添加数据的源码,喜欢的下载

    Maven 构建 Kettle 时所需的部分jar包

    Maven 构建 Kettle 时所需的部分jar包,具体构建操作请参考 http://blog.csdn.net/dongyuan234/article/details/78293699

    maven常用依赖.txt

    Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。 书中讲解了网络基础知识、TCP/IP基础知识、数据链路、IP协议、IP协议相关技术、TCP与UDP、路由协议、应用协议、网络安全等内容,引导读者了解和...

    chm版本Maven教程

    使用Maven构建和测试Java项目 Maven外部依赖 Maven项目文档 Maven项目模板 Maven快照 Maven构建自动化 Maven依赖管理 Maven自动化部署 Maven Web应用 Eclispe IDE集成Maven NetBeans IDE集成Maven Eclipse构建Maven...

    Maven:构建和管理Java项目Maven:构建和管理Java项目

    介绍如何使用 Maven 管理项目的依赖关系,以及如何通过声明式配置来简化项目的构建和管理。强调 Maven 的生命周期和插件机制,以及如何使用插件扩展 Maven 的功能。 第三部分:Maven 的优势和应用 探讨 Maven 在...

    gs-maven, 使用 Maven 构建Java项目.zip

    gs-maven, 使用 Maven 构建Java项目 标记项目maven目录你将构建什么。你需要什么。设置了项目项目。定义一个简单的Maven 构建工具。构建Java代码声明依赖项编写测试文件。摘要文件另请参阅本指南引导你使用 Maven

    批量删除maven下载失败的依赖文件

    一键删除非常nice,快来下载资源吧,省钱省力省事!

    maven-3.5.0多工程构建(spring4mvc分子项目)

    maven-3.5.0多工程构建(spring4mvc分子项目) 使用maven构建多模块项目。在一个项目中使用多个模块的一个方法是将模块... maven maven3.5.0 多工程构建 spring4mvc 子项目 maven构建项目 多模块项目 maven构建WEB项目

    apache-maven-3.9.5-bin windows 64bit x86下载

    1、构建管理:Maven使用一个中央的配置文件(pom.xml)来定义项目的结构、依赖关系和构建脚本。通过定义项目的依赖关系,Maven能够自动下载、管理和构建这些依赖。 2、依赖管理:Maven能够自动解决项目的依赖关系,...

    Spring IoC简单示例-XML配置-Maven构建

    Spring IoC简单示例,使用XML配置依赖注入,使用Maven构建项目 Maven使用及Spring IoC教程参考我的Blog:http://blog.csdn.net/boyazuo

    基于Maven构建的Spring IoC源码实例

    Spring IoC 入门实例,包括了多种依赖注入方式,适合Spring初学者学习使用。实例里有详细的注释,一看就懂。

    微信支付功能(maven构建的springMVC项目)

    微信支付功能(maven构建的springMVC项目)很好的例子!本人公司用的微信支付demo!有兴趣的可以学习参考一下!

    maven构建多模块项目源码实例

    使用maven构建多模块项目。在一个项目中使用多个模块的一个方法是将模块添加为依赖项,正常情况下,我们会添加一个外部模块作为依赖。但是,当模块是一个项目的一部分,并密切相关的时候,该项目应被构造为一个多...

    CXF实例一 Maven构建

    NULL 博文链接:https://jiaozhiguang-126-com.iteye.com/blog/1767245

    Maven 构建SpringMVC项目学习笔记

    Maven 构建SpringMVC项目学习笔记 一、背景介绍 二、构建工程 2.1、用maven插件构建项目框架 2.2、完善项目 2.3、将工程变成web工程 三、工程SpringMVC配置 ...3.2、添加Maven依赖 四、测试实例

    高效构建Java应用:Maven入门和进阶

    - [一、Maven简介和快速入门](#一Maven简介和快速入门) - [1.1 Maven介绍](#11-Maven介绍) ...- [三、Maven核心功能依赖和构建管理](#三Maven核心功能依赖和构建管理) - [3.1 依赖管理和配置](#31-依赖管理和配置)

    Maven原理和实践-培训课件.ppt

    何为Maven 构建,依赖管理,项目信息聚合 Maven核心概念 坐标,依赖,仓库,生命周期,插件 Maven最佳实践 创建、打包、发布、版本管理 项目实战 Nexus(Todo…) M2eclipse(Todo…)

    Maven依赖管理项目构建工具.pdf

    Maven依赖管理项目构建工具

    maven 构建好的 IK 分词器,可直接使用

    用于 Elasticsearch 2.2 的 中文分词器,已构建好,直接放入 Elasticsearch 的plugins 目录下使用

    Maven2之旅 构建项目 文档编制

    自从Java诞生以来,打包,测试,代码检测和发布Java工程就成为困扰...1.构建项目(Builds) 2.文档编制(Documentation) 3.报 告(Reporting) 4.依赖管理(Dependencies) 5.配 置管理(SCMs) 6.发布管理(Releases)

Global site tag (gtag.js) - Google Analytics