使用背景

最近,项目使用nodejs+webpack做前端构建,tomcat作为web容器,打包的时候想把构建的代码剔除掉或者说只打构建后的前端文件,在这里使用maven-war-plugin做了些配置,实现打war包时资源的过滤与增加,接下来会介绍下具体的配置和使用

插件使用

插件官方网站

https://maven.apache.org/plug...

常见使用案例可以看

实战介绍

上面常用的使用案例,都是英文的,英语不好的筒子们不要担心,里面有大量的配置,你只管挑你看得懂的看,和项目结合我只用了web resources的添加过滤,所以实战里,我就只介绍这一种了,其它的没有操作,不敢妄下断言。

首先贴出我的项目结构
--pom.xml
--src
----main
------front (前端资源)
--------build (构建后的页面)
-------- * (构建相关的脚本)
------java
------resources
------webapp
--------WEB-INF
----test

目标,打包的时候,将front/build里的页面打到webapp里,pom里配置如下

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                        </manifest>
                    </archive>
                    <webResources>
                        <resource>
                            <directory>src/main/front/build</directory>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
        </plugins>
    </build>

directory的目录是相对于pom.xml的位置来的

打包后的目录

clipboard.png

MANIFEST.MF(打入了依赖的classpath)

Manifest-Version: 1.0
Built-By: hzq
Class-Path: common-model-1.0.1-20160504.035104-4.jar delivery-service-
 1.0-SNAPSHOT.jar delivery-common-1.0-SNAPSHOT.jar commons-lang3-3.4.j
 ar commons-io-2.4.jar commons-fileupload-1.3.1.jar slf4j-api-1.7.21.j
 ar logback-classic-1.1.7.jar logback-core-1.1.7.jar logback-access-1.
 1.7.jar fastjson-1.2.7.jar delivery-api-1.1.1-RELEASE.jar lombok-1.16
 .4.jar spring-core-4.2.5.RELEASE.jar commons-logging-1.1.1.jar spring
 -beans-4.2.5.RELEASE.jar spring-jdbc-4.2.5.RELEASE.jar spring-tx-4.2.
 5.RELEASE.jar spring-context-4.2.5.RELEASE.jar spring-aop-4.2.5.RELEA
 SE.jar aopalliance-1.0.jar spring-test-4.2.5.RELEASE.jar spring-webmv
 c-4.2.5.RELEASE.jar spring-expression-4.2.5.RELEASE.jar spring-web-4.
 2.5.RELEASE.jar javax.servlet-api-3.1.0.jar jstl-1.2.jar
Created-By: IntelliJ IDEA
Build-Jdk: 1.8.0_40

ok,目的已经达到,收工!如果大家还想了解其他的配置可以多看看官网的常用案例,上面已经列出。


青芒
205 声望60 粉丝

java骚年