<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:beans="http://www.springframework.org/schema/beans" xmlns:rsf="http://www.suning.com/schema/rsf" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.suning.com/schema/rsf http://www.suning.com/schema/rsf/rsf.xsd">
<context:component-scan base-package="com.suning.sdipospc.controller">
</context:component-scan>
<context:annotation-config/>
<rsf:servicesReference/>
<!-- 启用mvn annotation -->
<mvc:annotation-driven conversion-service="conversionService">
<mvc:argument-resolvers>
<beans:bean class="com.suning.sdipospc.resolver.PageMethodArgumentProcessor"/>
</mvc:argument-resolvers>
<mvc:message-converters register-defaults="true">
<beans:bean id="stringHttpMessageConverter" class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg value="UTF-8" index="0"></constructor-arg><!-- 避免出现乱码 -->
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
<value>*/*</value>
</list>
</property>
</beans:bean>
<beans:bean id="fastJsonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
<value>text/html;charset=UTF-8</value><!-- 避免IE出现下载JSON文件的情况 -->
</list>
</property>
<property name="objectMapper">
<bean class="com.fasterxml.jackson.databind.ObjectMapper">
<property name="dateFormat">
<bean class="java.text.SimpleDateFormat">
<constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss"/>
</bean>
</property>
</bean>
</property>
</beans:bean>
</mvc:message-converters>
</mvc:annotation-driven>
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
</bean>
<!-- 启用切面 -->
<aop:aspectj-autoproxy proxy-target-class="true"/>
<bean id="viewResolver" abstract="true">
<property name="attributes">
<props>
<prop key="base">@{base}</prop>
<prop key="resRoot">@{resRoot}</prop>
<prop key="rcaLoginUrl">@{rcaLoginUrl}</prop>
<prop key="loginDesKey">@{loginDesKey}</prop>
</props>
</property>
<property name="prefix" value="/WEB-INF/freemarker/"/>
<property name="suffix" value=".ftl"/>
</bean>
<bean id="jstlViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver" parent="viewResolver">
<property name="order" value="2"/>
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/freemarker/"/>
</bean>
<bean id="freemarkerResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver" parent="viewResolver">
<!--<property name="cache" value="true"/> -->
<property name="order" value="1"/>
<property name="viewNames">
<array>
<value>*</value>
</array>
</property>
<!-- <property name="suffix" value=".ftl" /> -->
<property name="requestContextAttribute" value="request"/>
<property name="exposeSpringMacroHelpers" value="true"/>
<property name="exposeRequestAttributes" value="true"/>
<property name="exposeSessionAttributes" value="true"/>
<property name="allowSessionOverride" value="true"/>
<property name="contentType" value="text/html;charset=utf-8"/><!--编码 -->
<property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView"/>
</bean>
<!-- ===================== view resolver end ====================== -->
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<description>Required for Freemarker to work in web tier</description>
<property name="configuration" ref="freemarkerConfiguration"/>
</bean>
<bean id="freemarkerConfiguration" class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean">
<!-- 模板加载路径 -->
<property name="templateLoaderPaths">
<list>
<value>/WEB-INF/freemarker/</value>
<value>/</value>
</list>
</property>
<property name="configLocation">
<value>classpath:conf/freemarker.properties</value>
</property>
<!--全局变量部分 -->
<property name="freemarkerVariables">
<map>
<entry key="base" value="@{base}"/>
<entry key="xml_escape" value-ref="fmXmlEscape"/>
<entry key="html_escape" value-ref="fmHtmlEscape"/>
</map>
</property>
<property name="defaultEncoding" value="utf-8"/>
</bean>
<!-- 文件上传支持 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="utf-8"></property>
<property name="maxUploadSize">
<value>31457280</value><!-- 上传文件大小限制为30M,3*1024*1024 -->
</property>
<property name="maxInMemorySize">
<value>4096</value>
</property>
</bean>
<bean id="webPropertyConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:conf/main-setting-web.properties</value>
</list>
</property>
<property name="placeholderPrefix" value="@{"/>
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
</bean>
<bean id="fmXmlEscape" class="freemarker.template.utility.XmlEscape"/>
<bean id="fmHtmlEscape" class="freemarker.template.utility.HtmlEscape"/>
<!-- 拦截器集合 -->
<mvc:interceptors>
<!-- mvc 登陆鉴权拦截器 -->
<mvc:interceptor>
<!-- 需要拦截的URL -->
<mvc:mapping path="/*/**" />
<bean class="com.suning.rca.common.interceptor.AuthLoginInterceptor">
<!-- 登陆页面 -->
<property name="loginUrl" value="/index.html" />
<!--放行URL配置 -->
<property name="excludeList">
<list>
<value>/login.do</value>
<value>/generateQrCode.do</value>
<value>/doLogin.do</value>
<value>/checkDeviceLogin.do</value>
<value>/index.do</value>
<value>/error.do</value>
</list>
</property>
</bean>
</mvc:interceptor>
<!-- session超时 -->
<mvc:interceptor>
<mvc:mapping path="/*/**" />
<bean class="com.suning.sdipospc.interceptor.SessionTimeoutInterceptor">
<property name="allowUrls">
<list>
<!-- 如果请求中包含以下路径,则不进行拦截 -->
<value>/login.do</value>
<value>/generateQrCode.do</value>
<value>/doLogin.do</value>
<value>/checkDeviceLogin.do</value>
<value>/error.do</value>
</list>
</property>
</bean>
</mvc:interceptor>
</mvc:interceptors>
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="sample" version="2.5">
<display-name>sdipospc-web</display-name>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:conf/spring/spring-context.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>com.suning.framework.log.LogContextListener</listener-class>
</listener>
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>sdipospc-web</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:conf/spring/spring-servlet.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>sdipospc-web</servlet-name>
<url-pattern>*.do</url-pattern>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>15</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
关于主pom 配置的问题
<?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>
<parent>
<groupId>com.suning.framework</groupId>
<artifactId>snf-parent</artifactId>
<version>3.0.2</version>
</parent>
<groupId>com.suning.sdipospc</groupId>
<artifactId>sdipospc-pom</artifactId>
<name>sdipospc-pom</name>
<version>0.0.1</version>
<packaging>pom</packaging>
<properties>
<maven.build.timestamp.format>yyyyMMddHHmm</maven.build.timestamp.format>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<!-- 项目组可以在此添加自己项目的依赖,建议使用dependencyManagement对依赖进行统一管理 -->
<dependencies>
<dependency>
<groupId>com.suning.framework</groupId>
<artifactId>snf-lang</artifactId>
<version>2.2.5</version>
</dependency>
<dependency>
<groupId>com.suning.framework</groupId>
<artifactId>snf-log</artifactId>
</dependency>
<dependency>
<groupId>com.suning.framework</groupId>
<artifactId>snf-zk-client</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>com.suning.framework</groupId>
<artifactId>snf-scm-client</artifactId>
<version>2.1.6</version>
</dependency>
<dependency>
<groupId>com.suning.framework</groupId>
<artifactId>rsf</artifactId>
<version>2.1.4.sec06</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.1.46.sec01</version>
</dependency>
<dependency>
<groupId>com.suning.framework</groupId>
<artifactId>snf-sedis</artifactId>
<version>1.1.8</version>
</dependency>
<dependency>
<groupId>com.suning.framework</groupId>
<artifactId>snf-redis-client</artifactId>
<version>2.2.7</version>
</dependency>
<dependency>
<groupId>com.suning.framework</groupId>
<artifactId>sn-img-upload-client</artifactId>
<version>3.4.2</version>
<exclusions>
<exclusion>
<groupId>com.suning.framework</groupId>
<artifactId>sn-img-commons</artifactId>
</exclusion>
<exclusion>
<groupId>com.suning.framework</groupId>
<artifactId>snf-scm-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.suning.framework</groupId>
<artifactId>sn-img-commons</artifactId>
<version>3.3.6</version>
</dependency>
<dependency>
<groupId>com.suning.framework</groupId>
<artifactId>snf-rsc</artifactId>
</dependency>
<dependency>
<groupId>com.suning.framework.uts</groupId>
<artifactId>utsClient</artifactId>
<version>2.0.8</version>
</dependency>
<dependency>
<groupId>net.oss.client</groupId>
<artifactId>OSSClient</artifactId>
<version>0.2.6</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.0.pr3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.1.1</version>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.2</version>
</dependency>
<!-- httpclient -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.1</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.3.1</version>
</dependency>
<dependency>
<groupId>com.suning.b2c</groupId>
<artifactId>b2c-util</artifactId>
<version>0.0.7</version>
</dependency>
<!-- 转换json jar -->
<dependency>
<groupId>org.clojars.pierrehenryperret</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.4</version>
</dependency>
<dependency>
<groupId>org.clojars.pierrehenryperret</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.4</version>
</dependency>
<!-- 转换json jar END -->
<dependency>
<groupId>com.github.sogyf</groupId>
<artifactId>goja-qrcode</artifactId>
<version>0.1.2</version>
</dependency>
<dependency>
<groupId>com.suning.sdipos</groupId>
<artifactId>sdipos-web-intf</artifactId>
<version>0.0.2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.suning.sdip.intf</groupId>
<artifactId>sdip-b2c</artifactId>
<version>1.0.4-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>com.suning.framework</groupId>
<artifactId>rsf</artifactId>
</exclusion>
<exclusion>
<groupId>com.suning.framework</groupId>
<artifactId>snf-scm-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.suning.framework</groupId>
<artifactId>snf-dal</artifactId>
</dependency>
<dependency>
<groupId>com.suning.framework</groupId>
<artifactId>snf-lang2</artifactId>
<version>1.1.9</version>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>com.springsource.com.thoughtworks.xstream</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>com.suning.nsfcommon</groupId>
<artifactId>nsfcommon-tools</artifactId>
<version>0.0.8</version>
</dependency>
<dependency>
<groupId>com.netflix.feign</groupId>
<artifactId>feign-gson</artifactId>
<version>8.18.0</version>
</dependency>
<dependency>
<groupId>com.suning.framework</groupId>
<artifactId>snf-security</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava-base</artifactId>
<version>r03</version>
</dependency>
<dependency>
<groupId>com.suning.nsfuaa</groupId>
<artifactId>nsfuaa-rsf-intf</artifactId>
<version>0.1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>net.sf.oval</groupId>
<artifactId>oval</artifactId>
<version>1.86</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
</dependency>
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<scope>test</scope>
</dependency>
<!-- <dependency> -->
<!-- <groupId>mysql</groupId> -->
<!-- <artifactId>mysql-connector-java</artifactId> -->
<!-- <scope>provided</scope> -->
<!-- </dependency> -->
<dependency>
<groupId>com.suning.monitor</groupId>
<artifactId>monitor-trace-api</artifactId>
<version>1.1.0-SNAPSHOT</version>
</dependency>
<!-- <dependency> -->
<!-- <groupId>com.ibm.db2</groupId> -->
<!-- <artifactId>db2jcc4</artifactId> -->
<!-- </dependency> -->
<dependency>
<groupId>ma.glasnost.orika</groupId>
<artifactId>orika-core</artifactId>
<version>1.4.6</version>
</dependency>
<dependency>
<groupId>com.atlassian.bundles</groupId>
<artifactId>google-collections</artifactId>
<version>1.0-rc5</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.demos.deployer.wrap</groupId>
<artifactId>osgi.commons-lang</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>com.suning.rca</groupId>
<artifactId>rca-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.suning.rca</groupId>
<artifactId>rca-web-intf</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.suning.sdip.intf</groupId>
<artifactId>sdip-b2c</artifactId>
<version>1.0.4-SNAPSHOT</version>
</dependency>
</dependencies>
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<filters>
<filter>../${project.parent.artifactId}/vars/vars.dev.properties</filter>
</filters>
</build>
</profile>
<profile>
<id>sit</id>
<build>
<filters>
<filter>../${project.parent.artifactId}/vars/vars.sit.properties</filter>
</filters>
</build>
</profile>
<profile>
<id>pre</id>
<build>
<filters>
<filter>../${project.parent.artifactId}/vars/vars.pre.properties</filter>
</filters>
</build>
</profile>
<profile>
<id>prod</id>
<build>
<filters>
<filter>../${project.parent.artifactId}/vars/vars.prod.properties</filter>
</filters>
</build>
</profile>
</profiles>
<build>
<pluginManagement>
<plugins>
<!-- war plugin config: 对静态资源进行过滤,替换变量。 如果你不需要,请移除这一段 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warName>${project.artifactId}</warName>
<webResources>
<resource>
<directory>src/main/webapp</directory>
<filtering>true</filtering>
<includes>
<include>**/*.html</include>
<include>**/*.js</include>
<include>**/*.css</include>
<include>**/*.xml</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<!-- 该配置可以让Maven属性在资源文件(src/main/resources、src/test/resources)中被解析 -->
<resources>
<resource>
<directory>${basedir}/src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<testResources>
<testResource>
<directory>${basedir}/src/test/resources</directory>
</testResource>
</testResources>
</build>
<!-- 注意:必须改为你项目正确的svn路径 -->
<scm>
<url>http://svncode.cnsuning.com/svn/TechPlatform_code/SuNingFramework/snf-archetype/branches/SNF-ARCHETYPE_V3.0.0/sdipospc-pom</url>
<connection>scm:svn:http://svncode.cnsuning.com/svn/TechPlatform_code/SuNingFramework/snf-archetype/branches/SNF-ARCHETYPE_V3.0.0/sdipospc-pom</connection>
</scm>
<modules>
<module>../sdipospc-web-intf </module>
<module>../sdipospc-web-service </module>
<module>../sdipospc-web </module>
</modules>
</project>
interface 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>
<artifactId>sdipospc-web-intf</artifactId>
<name>sdipospc-web-intf</name>
<packaging>jar</packaging>
<parent>
<groupId>com.suning.sdipospc</groupId>
<artifactId>sdipospc-pom</artifactId>
<version>0.0.1</version>
<relativePath>../sdipospc-pom/pom.xml</relativePath>1
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
</properties>
</project>
service pom
<?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>
<artifactId>sdipospc-web-service</artifactId>
<name>sdipospc-web-service</name>
<packaging>jar</packaging>
<parent>
<groupId>com.suning.sdipospc</groupId>
<artifactId>sdipospc-pom</artifactId>
<version>0.0.1</version>
<relativePath>../sdipospc-pom/pom.xml</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>com.suning.sdipospc</groupId>
<artifactId>sdipospc-web-intf</artifactId>
<version>0.0.1</version>
</dependency>
</dependencies>
</project>
web 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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>sdipospc-web</artifactId>
<packaging>war</packaging>
<name>sdipospc-web</name>
<parent>
<groupId>com.suning.sdipospc</groupId>
<artifactId>sdipospc-pom</artifactId>
<version>0.0.1</version>
<relativePath>../sdipospc-pom/pom.xml</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>com.suning.sdipospc</groupId>
<artifactId>sdipospc-web-intf</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.suning.sdipospc</groupId>
<artifactId>sdipospc-web-service</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>opensymphony</groupId>
<artifactId>sitemesh</artifactId>
<version>2.4.2</version>
</dependency>
<dependency>
<groupId>com.suning.framework</groupId>
<artifactId>snf-web</artifactId>
</dependency>
<dependency>
<groupId>com.suning.framework</groupId>
<artifactId>snf-web-session</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
</dependencies>
<build>
<finalName>sdipospc-web-${buildNumber}</finalName>
<plugins>
<!-- 静态资源打zip包 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>${basedir}/static-zip.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<format>{0,date,yyyyMMddHHmm}</format>
<items>
<item>timestamp</item>
</items>
</configuration>
</plugin>
</plugins>
</build>
</project>
静态资源包
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>project</id>
<formats>
<format>zip</format>
</formats>
<!-- 生成的zip压缩文件中第一层是否为pom.xml中指定的finalName -->
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<!-- 静态资源在生成的zip包中的位置;project为工程webapp下实际存在的文件夹。 -->
<directory>${basedir}/target/sdipospc-web-${buildNumber}/project</directory>
<!-- 在文件服务器上释放文件输出的位置 -->
<outputDirectory>project</outputDirectory>
</fileSet>
</fileSets>
</assembly>
freemarker 的配置文件 freemarker.properties
datetime_format=yyyy-MM-dd HH:mm:ss
date_format=yyyy-MM-dd
time_format=HH:mm:ss
boolean_format=true,false
whitespace_stripping=true
default_encoding=UTF-8
tag_syntax=auto_detect
url_escaping_charset=UTF-8
classic_compatible=true
template_update_delay=0
locale=zh_CN
number_format=\#0.\#\#\#\#\#
上传私服 maven 命令
clean install deploy