java技术--创建SpringCloudfu父maven project模块(02)

1.在MyEclipse中创建SpringCloudfu父maven project模块
(1)File->new->other->maven->maven project
<1>记得勾选框(两个都选),这里仅仅只是需要该项目的pom.xml文件
<2>packging选择pom
<3>生成后,有src文件,删除该文件,只保留pom.xml文件
(2)修改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>com.bisien</groupId>
  <artifactId>SpringCloud-Parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
  <name>SpringCloud-Parent</name>
  <url>http://maven.apache.org</url>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <!--声明SpringBoot版本2.0.3  -->
    <version>2.0.3.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>
  <!-- SpringBoot版本2.0对应SpringCloud版本Finchley版本
    SpringBoot版本2.1对应SpringCloud版本Finchley版本、Greenwich版本 -->
  <properties>
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   <!-- 声明SpringCloud版本Greenwich.SR1 -->
   <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
  <!-- <spring-cloud.version>Finchley.RELEASE</spring-cloud.version> -->
  </properties>
  <dependencies>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    </dependency>
  </dependencies>
  <dependencyManagement>
    <dependencies>     
        <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-dependencies</artifactId>
          <version>${spring-cloud.version}</version>
          <type>pom</type>
          <!-- 用来实现多继承 -->
          <scope>import</scope>
      </dependency>
      </dependencies>
  </dependencyManagement>
   <build>
      <plugins>
          <plugin>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
          </plugin>
          <plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>2.6</version>
		 </plugin>
      </plugins>
  </build>
</project>    

2.在搭建项目的过程中问题

(1)引入依赖时,pom文件总是报错
(2)这一般是springboot和springcloud的版本不一致造成
(3)springboot和springcloud的版本关系如下:
      <1>SpringBoot版本	SpringCloud版本
            1.2.x	      Angel版本
            1.3.x	      Brixton版本
            1.4.x 	      Camden版本
            1.5.x	      Dalston版本
            2.0.x	      Finchley版本
            2.1.x  Finchley版本、Greenwich版本
 (4)eurkea与SpringBoot版本的关系
      <1>1.5的版本eurkea的提供,是不区分服务端、客户端的
         <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
         </dependency>
      <2>2.0开始之后,是区分了server、client的哦   
         <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka- server</artifactId>
        </dependency>
        <dependency>
           <groupId>org.springframework.cloud</groupId>
           <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>        

3.新建这个父工程后

(1)发现它其实只有一个pom文件,没有什么业务功能
(2)但是工作中都会新建一个这样的项目目录,它的作用如下
    <1>工作中,整个项目的名称就是这个maven项目的名称
       1.1.在svn中拉取项目下,只要拉这个主工程的分支就行了
    <2>它的pom文件会定义为父pom
       2.1.后续的module工程可以继承该pom
       2.2.很多module工程共用的配置,都可以放到这里
       2.3.在父工程的pom中可以添加公共依赖
       2.4.子项目都可以通用依赖,这样可以减少子项目pom中添加的依赖数目,避免重复添加依赖

4.遇到的问题

(1)创建完父工程后,在父工程下创建子模块报错
      <1>每个子模块的pom配置文件首行报错
      <2>报错信息如下:
         org.apache.maven.archiver.MavenArchiver.getManifest
         (org.apache.maven.project.MavenProject, 
          org.apache.maven.archiver.MavenArchiveConfiguration)
(2)解决方案
      <1>在父工程下的pom配置文件中添加如下配置
         <properties>
           <maven-jar-plugin.version>2.6</maven-jar-plugin.version>
         </properties> 
         或者
         <plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>2.6</version>
		 </plugin>
      <2>添加完成后更新项目:Maven->update project 
      <3>spring-boot-maven-plugin插件在打Jar包时会引入依赖包    
         3.1.是一个打包(jar)插件 
         3.2.该插件提供了构建jar的功能,用来处理依赖包版本问题    
发布了191 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq591009234/article/details/105488730