2017-12-14 5 views
0

스프링 부트 학습을 시작할 때 루트, 3 개의 모듈 admin-service, common-service 및 dao로 프로젝트 springboot-demo를 만들었습니다. 이 관리자 치어입니다maven 패키지 전쟁 누락 된 종속성

<?xml version="1.0" encoding="UTF-8"?> 
<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> 
    <packaging>pom</packaging> 

    <name>springboot-demo</name> 
    <modules> 
     <module>admin-service</module> 
     <module>common-service</module> 
     <module>dao</module> 
    </modules> 
    <groupId>cc.xiaoerbi</groupId> 
    <artifactId>springboot-demo</artifactId> 
    <version>1.0-SNAPSHOT</version> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.5.1.RELEASE</version> 
    </parent> 

    <properties> 
     <java.version>1.8</java.version> 
     <mybatis-spring-boot>1.2.0</mybatis-spring-boot> 
     <mysql-connector>5.1.39</mysql-connector> 
    </properties> 
</project> 

:

루트 치어입니다

<?xml version="1.0" encoding="UTF-8"?> 
<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"> 
    <parent> 
     <artifactId>springboot-demo</artifactId> 
     <groupId>cc.xiaoerbi</groupId> 
     <version>1.0-SNAPSHOT</version> 
    </parent> 
    <modelVersion>4.0.0</modelVersion> 
    <packaging>war</packaging> 
    <name>admin-service</name> 
    <artifactId>admin-service</artifactId> 
    <dependencies> 
     <dependency> 
      <groupId>cc.xiaoerbi</groupId> 
      <artifactId>dao</artifactId> 
      <version>1.0-SNAPSHOT</version> 
     </dependency> 
     <!-- Spring Boot Web --> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 

     ... 

    </dependencies> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

이는 DAO의 치어입니다 :

<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"> 
    <parent> 
     <artifactId>springboot-demo</artifactId> 
     <groupId>cc.xiaoerbi</groupId> 
     <version>1.0-SNAPSHOT</version> 
     <relativePath>../pom.xml</relativePath> 
    </parent> 

    <modelVersion>4.0.0</modelVersion> 
    <packaging>jar</packaging> 
    <artifactId>dao</artifactId> 

    <dependencies> 
     <!-- Spring Boot Mybatis --> 
     <dependency> 
      <groupId>org.mybatis.spring.boot</groupId> 
      <artifactId>mybatis-spring-boot-starter</artifactId> 
      <version>${mybatis-spring-boot}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.projectlombok</groupId> 
      <artifactId>lombok</artifactId> 
      <version>RELEASE</version> 
     </dependency> 
    </dependencies> 

    <build> 
     <resources> 
      <resource> 
       <directory>src/main/java</directory> 
      </resource> 
      <resource> 
       <directory>src/main/resources</directory> 
      </resource> 
     </resources> 

     <plugins> 
      <plugin> 
       <groupId>org.mybatis.generator</groupId> 
       <artifactId>mybatis-generator-maven-plugin</artifactId> 
       <version>1.3.2</version> 
       <configuration> 
        <verbose>true</verbose> 
        <overwrite>true</overwrite> 
       </configuration> 
       <dependencies> 
        <dependency> 
         <groupId>mysql</groupId> 
         <artifactId>mysql-connector-java</artifactId> 
         <version>5.1.30</version> 
        </dependency> 
       </dependencies> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

내가 패키지 관리자 전쟁이 실패했다 :

[경고] cc.xiaoerbi의 POM : DAO : 항아리 : 1.0-SNAPSHOT이없는, 좀 비슷한 코드를 작성했습니다, 그리고 그것이 작동

사용할 수없는 종속성 정보. 나는이 코드가 무엇이 잘못되었는지 모른다.

답변

0

의존성을 사용하기 전에 컴파일하도록 모듈을 변경하십시오.

<modules> 
    <module>dao</module> 
    <module>admin-service</module> 
    <module>common-service</module> 
</modules> 

DAO를, 관리 서비스, 및 공통 서비스 pom.xml 파일이 들어있는 폴더 이름은 루트 폴더에 마땅한 그들은 루트의 pom.xml에 모듈 이름과 일치해야합니다. 또한 admin 디렉토리가 아닌 루트 디렉토리에서 "mvn clean install"컴파일을 실행해야합니다. admin에서 컴파일하면 dao를 먼저 컴파일하지 않습니다. ~/.m2/repositoy 로컬 캐시에서 리소스를 찾을 수없는 경우 repo에서 가져 오기를 시도합니다.

는 관리 서비스 및 공통 서비스에

<relativePath>../pom.xml</relativePath> 

를 추가합니다.

그들은 https://maven.apache.org/guides/introduction/introduction-to-the-pom.html

+0

하지 이것에 프로젝트 상속 섹션 예 2에 대해 이야기하지만, thanku 대답 –

+0

는 오류가 마련 될 수 있습니다 더 명령과 구조를 추가했습니다. – dskow