Maven依赖war开发,找不到war里头的class解决方案

问题描述:

开发一个web系统,需要引用另一个excel.war【在该系统里头是一个excel的导入导出小模块】进行项目

            <dependency>
                <groupId>com.bosssoft.platform.component</groupId>
                <artifactId>com.bosssoft.platform.common.excel</artifactId>
                <version>${project.version}</version>
                <type>war</type>
            </dependency>

在开发过程中,发现引用不到excel.war里头的class文件,但是maven clean install出来的web系统的war,里头又有相关的class文件

后面百度了,经过多方排查,是因为有些IDE没法很智能的做到,直接去引用war里头的class,这个时候我们在打包excel.war的时候,就要打包class的资源。

    <build>
        <finalName>com.bosssoft.platform.common.excel</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <!--将class打包jar作为附件-->
                    <attachClasses>true</attachClasses>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
        </plugins>
    </build>

注意红色字体部分,在进行打包的时候,同样要打出一个jar的class资源包,进行依赖。

在进行项目依赖的时候加个class资源就可以了

        <dependency>
            <groupId>com.bosssoft.platform.component</groupId>
            <artifactId>com.bosssoft.platform.common.excel</artifactId>
            <type>war</type>
        </dependency>
        
        <dependency>
            <groupId>com.bosssoft.platform.component</groupId>
            <artifactId>com.bosssoft.platform.common.excel</artifactId>
            <classifier>classes</classifier>
        </dependency>

bingo,解决了

posted @ 2018-06-15 15:16  shawWey  阅读(2808)  评论(0编辑  收藏  举报