Java 用于父项目的带maven的Spring引导

Java 用于父项目的带maven的Spring引导,java,spring,maven,spring-boot,Java,Spring,Maven,Spring Boot,我有一个SpringBootMaven项目,其名称是“CSMaster”,它包含我在另一个项目(AppAdmin)中使用的公共代码 CSMaster项目包含- 所有常见代码,如域、存储库层、服务层及其pom.xml文件 AppAdmin项目包含- 控制器层、其助手类、jsp文件及其pom.xml文件。 在这个控制器层中,我们自动连接了主项目中的服务层 现在,在编写代码时,我能够访问AppAdmin项目中父项目的所有方法,但在通过mvn安装生成AppAdmin项目的war时,它抛出以下错误- [I

我有一个SpringBootMaven项目,其名称是“CSMaster”,它包含我在另一个项目(AppAdmin)中使用的公共代码

CSMaster项目包含- 所有常见代码,如域、存储库层、服务层及其pom.xml文件

AppAdmin项目包含- 控制器层、其助手类、jsp文件及其pom.xml文件。 在这个控制器层中,我们自动连接了主项目中的服务层

现在,在编写代码时,我能够访问AppAdmin项目中父项目的所有方法,但在通过mvn安装生成AppAdmin项目的war时,它抛出以下错误-

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.996 s
[INFO] Finished at: 2016-10-26T13:07:25+05:30
[INFO] Final Memory: 28M/280M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project AppAdmin: Compilation failure: Compilation failure:
[ERROR] /home/ttnd/sumit/zzzLearning/repo/boot_appadmin/src/main/java/com/appadmin/helper/PermGroupHelper.java:[10,27] package com.csmaster.domain does not exist
它不是在创建构建时拾取主项目类

我的Pom文件是-

CSMaster:pom.xml

<?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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.csmaster</groupId>
    <artifactId>CSMaster</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>CSMaster</name>
    <description>MasterProject</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <hibernate.version>5.2.2.Final</hibernate.version>
    </properties>

    <dependencies>

        <!-- Spring -->
        <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>
<?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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.appadmin</groupId>
    <artifactId>AppAdmin</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>AppAdmin</name>
    <description>AppAdmin</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.1.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <hibernate.version>5.2.2.Final</hibernate.version>
    </properties>

    <dependencies>

        <!-- Parent Jar -->
        <dependency>
            <groupId>com.csmaster</groupId>
            <artifactId>CSMaster</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <scope>runtime</scope>
        </dependency>

        <!-- Spring -->
        <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>

4.0.0
com.csmaster
CSMaster
0.0.1-快照
罐子
CSMaster
主项目
org.springframework.boot
spring启动程序父级
1.4.1.1发布
UTF-8
UTF-8
1.8
5.2.2.最终版本
org.springframework.boot
SpringBootStarterWeb
.
.
.
.
.
org.springframework.boot
springbootmaven插件
AppAdmin:pom.xml

<?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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.csmaster</groupId>
    <artifactId>CSMaster</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>CSMaster</name>
    <description>MasterProject</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <hibernate.version>5.2.2.Final</hibernate.version>
    </properties>

    <dependencies>

        <!-- Spring -->
        <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>
<?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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.appadmin</groupId>
    <artifactId>AppAdmin</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>AppAdmin</name>
    <description>AppAdmin</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.1.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <hibernate.version>5.2.2.Final</hibernate.version>
    </properties>

    <dependencies>

        <!-- Parent Jar -->
        <dependency>
            <groupId>com.csmaster</groupId>
            <artifactId>CSMaster</artifactId>
            <version>0.0.1-SNAPSHOT</version>
            <scope>runtime</scope>
        </dependency>

        <!-- Spring -->
        <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>

4.0.0
com.appadmin
阿帕德明
0.0.1-快照
战争
阿帕德明
阿帕德明
org.springframework.boot
spring启动程序父级
1.4.1.1发布
UTF-8
UTF-8
1.8
5.2.2.最终版本
com.csmaster
CSMaster
0.0.1-快照
运行时
org.springframework.boot
SpringBootStarterWeb
.
.
.
.
.
org.springframework.boot
springbootmaven插件

如何修复它?

您的CSMaster依赖项是运行时的,并且符合

运行时:

此范围表示不需要依赖项 编译,但用于执行。它在运行时和测试中 类路径,但不是编译类路径

将依赖项声明范围从运行时更改为编译,如下所示

    <dependency>
        <groupId>com.csmaster</groupId>
        <artifactId>CSMaster</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <scope>compile</scope>
    </dependency>

com.csmaster
CSMaster
0.0.1-快照
编译

包com.csmaster.domain不存在
。您的代码没有编译…包com.csmaster.domain存在于csmaster项目中,AppAdmin项目正在编译并运行得很好,但是当我当时试图为AppAdmin构建war时,它无法定位csmaster项目类。它对我有效。。谢谢