Maven框架jar包整理

Maven子项目可以通过对maven父项目的集成来实现对jar包的管理,由于多个maven子项目中可能存在相同的jar包,所以,为了方便整理,可以建一个父项目,打包方式为pom,然后再父项目的pom.xml中声明需要的jar包,然后在子项目中集成即可
父项目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</groupId>
  <artifactId>maven-parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
  <properties>
		<spring.version>4.0.3.RELEASE</spring.version>
	</properties>
<!-- 	需要在声明哪个子项目使用该jar包 -->
     <dependencyManagement>
        <dependencies>
           <dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${spring.version}</version>
		</dependency>
		 <dependency>
			<!-- 定义导入的jar包以及版本 -->
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
		</dependency>
		
        </dependencies>
     </dependencyManagement>
  
<!--   在该标签下的jar包所有子项目都会集成 -->
	<!-- 所有的依赖在dependencies范围内添加,包含诸多 dependency -->
	<dependencies>
		<dependency>
			<!-- 定义导入的jar包以及版本 -->
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.17</version>
			<!-- 表示jar包的使用策略 
			test:只有Test下可用,不参与打包; 
			provided:不参与打包,有服务器或web容器提供 
			runtime:参与打包,不编译,比如数据库驱动 
		    system:类似于provided,但是是从本地仓库获取 -->
			<scope>compile</scope>
		</dependency>
	 

	</dependencies>
</project>

子项目xml

<!--通过该标签继承父项目中dependencies标签内的jar包-->
 <parent>
        <groupId>cn</groupId>
        <artifactId>maven-parent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <!--指定父项目的真实路径-->
        <relativePath>../maven-parent</relativePath>
   </parent>
	<dependencies>
        
         <dependency>
			<!-- 定义导入父项目中dependencyManagement标签内的某个jar包,不需要写版本号,如果不写则不会引用dependencyManagement标签内的jar包 -->
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
		</dependency>
		
	</dependencies>

猜你喜欢

转载自blog.csdn.net/qq_36677358/article/details/84699407