zpy项目构建整理

目标:

  1. 使用maven构建项目,不依赖具体IDE
  2. 使用spring profile做环境选择,无需手动调整

项目构建

目标:使用maven构建项目,不依赖具体IDE

步骤

  1. 把zpy-common, zpy-jxgl, 等子项目放入 zpy父项目路径下。
  2. 调整zpy 父 pom,添加以下maven插件
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
        <source>${java.source}</source>
        <target>${java.target}</target>
        <encoding>${project.build.sourceEncoding}</encoding>
    </configuration>
</plugin>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>3.1.0</version>
</plugin>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>3.2.2</version>
    <configuration>
        <attachClasses>true</attachClasses>
    </configuration>
</plugin>
  1. 调整zpy下面 zpy-jxgl, zpy-sbgl, zpy-wx, zpy-xxgl 的webapp子工程,添加
<packaging>war</packaging>
  1. 调整zpy-wx 依赖,把对zpy-jxgl的依赖改为
<dependency>
    <groupId>com.zrsf.vat</groupId>
    <artifactId>zpy-jxgl</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <classifier>classes</classifier>
</dependency>

多添加了<classifier>classes</classifier>属性

  1. 调整zpy-web依赖,依赖改为:
<dependencies>
    <dependency>
        <groupId>com.zrsf.vat</groupId>
        <artifactId>zpy-common</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <type>jar</type>
    </dependency>
    <dependency>
        <groupId>com.zrsf.vat</groupId>
        <artifactId>zpy-jxgl</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <type>war</type>
    </dependency>
    <dependency>
        <groupId>com.zrsf.vat</groupId>
        <artifactId>zpy-jxgl</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <type>jar</type>
        <classifier>classes</classifier>
    </dependency>
    <dependency>
        <groupId>com.zrsf.vat</groupId>
        <artifactId>zpy-xxgl</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <type>war</type>
    </dependency>
    <dependency>
        <groupId>com.zrsf.vat</groupId>
        <artifactId>zpy-xxgl</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <type>jar</type>
        <classifier>classes</classifier>
    </dependency>
    <dependency>
        <groupId>com.zrsf.vat</groupId>
        <artifactId>zpy-wx</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <type>war</type>
    </dependency>
    <dependency>
        <groupId>com.zrsf.vat</groupId>
        <artifactId>zpy-wx</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <type>jar</type>
        <classifier>classes</classifier>
    </dependency>
    <dependency>
        <groupId>com.zrsf.vat</groupId>
        <artifactId>zpy-sbgl</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <type>war</type>
    </dependency>
    <dependency>
        <groupId>com.zrsf.vat</groupId>
        <artifactId>zpy-sbgl</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <type>jar</type>
        <classifier>classes</classifier>
    </dependency>
    <dependency>
        <groupId>alipay</groupId>
        <artifactId>alipay-sdk</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/alipay-sdk-java20170615110434.jar</systemPath>
    </dependency>
    <dependency>
        <groupId>net.bull.javamelody</groupId>
        <artifactId>javamelody-core</artifactId>
        <version>1.70.0</version>
    </dependency>
</dependencies>

修改了对其他war包依赖,不仅依赖war中class,还需把WEB-INF/jsp 下面的jsp文件打入当前war包。所以不仅依赖于war,还依赖于jar。
war 插件无需修改,为:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>3.2.2</version>
    <configuration>
        <packagingExcludes>WEB-INF/web.xml</packagingExcludes>
        <overlays>
            <overlay>
                <groupId>com.zrsf.vat</groupId>
                <artifactId>zpy-jxgl</artifactId>
            </overlay>
            <overlay>
                <groupId>com.zrsf.vat</groupId>
                <artifactId>zpy-xxgl</artifactId>
            </overlay>
            <overlay>
                <groupId>com.zrsf.vat</groupId>
                <artifactId>zpy-wx</artifactId>
            </overlay>
            <overlay>
                <groupId>com.zrsf.vat</groupId>
                <artifactId>zpy-sbgl</artifactId>
            </overlay>
        </overlays>
    </configuration>
</plugin>

经过以上步骤调整,就可以使用maven做项目构建。构建步骤如下:

  1. 切换到spy-web项目跟路径下。
  2. 执行maven指令mvn clean package -Dmaven.test.skip=true
  3. 执行完成后会在该项目target下生成war

项目环境

目标:使用spring profile做环境选择,无需手动调整
由于该项目已经使用spring profile做环境的构建,无需做配置,只需在不同环境,激活不同的环境。
例如:在test环境,只需在tomcat/bin下面添加2个文件,用来设置环境变量。文件内容如下:

  1. setenv.bat (windows环境使用)
set SPRING_PROFILES_ACTIVE=test
  1. setenv.sh (liunx环境使用)
export SPRING_PROFILES_ACTIVE=test
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,971评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 入门 介绍 Spring Boot Spring Boot 使您可以轻松地创建独立的、生产级的基于 Spring ...
    Hsinwong阅读 16,960评论 2 89
  • 简介 概述 Maven 是一个项目管理和整合工具 Maven 为开发者提供了一套完整的构建生命周期框架 Maven...
    闽越布衣阅读 4,362评论 6 39
  • 28期5班3组23号-韦大英毕业感言 机缘巧合,我走入了21天小白投资理财训练营,这不是一个对的时间,却又是一个不...
    学禅的刺猬阅读 345评论 1 0