springboot发布成jar并支持jsp

来源:互联网 发布:恋舞刷m币软件 编辑:程序博客网 时间:2024/04/29 14:01

构建springboot项目之前,先得了解springboot的目录结构

|-customer(项目名称)|  -  src|  |  -  main|  |  |  -  java|  |  |  -  resources|  |  |  |  -  static|  |  |  |  -  public|  |  -  test|  |  |  -  java|  - pom.xml|  - customer.iml
- customer:是项目名称;
- src/main/java:目录下放置所有java文件(源代码文件);
- src/main/resources:放置所有的配置文件、页面文件、静态资源文件;
- src/main/resources/static:是静态资源文件目录,在这个目录中的所有文件将可以被直接访问,如果没有这个文件夹可自行创建;
- src/main/resources/public:作用和src/main/resources/static目录一样。

配制文件

springboot运行会自动加载resources下面名称为application.properties配制文件

server.port=9090 # 服务端口号server.tomcat.uri-encoding=UTF-8 #以Tomcat为web容器时的字符编码spring.application.name=customer # 应用名称,一般就是项目名称,这个名称在SpringCloud中比较关键spring.profiles.active=dev #指定当前的活动配置文件,主要用于多环境多配置文件的应用中spring.http.encoding.charset=UTF-8 #http请求的字符编码spring.http.multipart.max-file-size=10MB #设置文件上传时单个文件的大小限制spring.http.multipart.max-request-size=100MB #设置文件上传时总文件大小限制spring.thymeleaf.prefix=classpath:/templates/ #配置在使用Thymeleaf做页面模板时的前缀,即页面所在路径spring.thymeleaf.suffix=.html #设置在使用Thymeleaf做页面模板时的后缀spring.thymeleaf.cache=false #设置在使用Thymeleaf做页面模板时是否启用缓存spring.mvc.static-path-pattern=/** #设置静态资源的请求路径spring.resources.static-locations=classpath:/static/,classpath:/public/ #指定静态资源的路径##以下是使用MySQL数据库的配置hibernate.dialect=org.hibernate.dialect.MySQL5Dialect #指定数据库方言hibernate.show_sql=true #是否显示sql语句hibernate.hbm2dll.auto=update #设置使用Hibernate的自动建表方式entitymanager.packagesToScan=com.zslin #设置自动扫描的包前缀spring.datasource.url=jdbc:mysql://localhost:3306/customer?\useUnicode=true&characterEncoding=utf-8&useSSL=true&autoReconnect=true #数据库链接spring.datasource.username=root #数据库用户名spring.datasource.password=123 #数据库用户对应的密码spring.datasource.driver-class-name=com.mysql.jdbc.Driver #数据库驱动名称

pom.xml配制

发布成jar包,所以pom.xml中得描述:< packaging>jar< /packaging> 表示maven的package方式为jar。并需要添加jsp的支持及打包方式等等,以下我把我的pom.xml贴出来:《@中国人叔叔-lt》

<?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.vking.tspringboot</groupId>    <artifactId>tspringboot</artifactId>    <version>1.0-SNAPSHOT</version>    <name>testSpringBoot</name>    <packaging>jar</packaging>    <!-- spring-boot的web启动的jar包 -->    <parent>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-parent</artifactId>        <version>1.5.9.RELEASE</version>    </parent>    <dependencies>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-web</artifactId>        </dependency>        <dependency>            <groupId>org.apache.tomcat.embed</groupId>            <artifactId>tomcat-embed-jasper</artifactId>        </dependency>        <dependency>            <groupId>jstl</groupId>            <artifactId>jstl</artifactId>            <version>1.2</version>        </dependency>        <dependency>            <groupId>javax.servlet</groupId>            <artifactId>javax.servlet-api</artifactId>            <version>3.1.0</version>            <scope>provided</scope>        </dependency>        <dependency>            <groupId>javax.servlet.jsp</groupId>            <artifactId>jsp-api</artifactId>            <version>2.2</version>            <scope>provided</scope>        </dependency>        <!--暴露各种指标-->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-actuator</artifactId>        </dependency>        <dependency>            <groupId>org.springframework.cloud</groupId>            <artifactId>spring-cloud-starter-eureka</artifactId>            <version>1.2.4.RELEASE</version>        </dependency>        <!--表示为web工程-->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-web</artifactId>        </dependency>    </dependencies>    <!--maven的插件-->    <build>        <plugins>            <plugin>                <groupId>org.springframework.boot</groupId>                <artifactId>spring-boot-maven-plugin</artifactId>                <configuration>                    <mainClass>com.vking.tspringboot.controller.SampleController</mainClass>                </configuration>                <version>1.4.2.RELEASE</version>                <executions>                    <execution>                        <goals>                            <goal>repackage</goal>                        </goals>                    </execution>                </executions>            </plugin>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-war-plugin</artifactId>                <configuration>                    <failOnMissingWebXml>false</failOnMissingWebXml>                </configuration>            </plugin>        </plugins>        <resources>            <!-- 打包时将jsp文件拷贝到META-INF目录下-->            <resource>                <!-- 指定resources插件处理哪个目录下的资源文件 -->                <directory>src/main/webapp</directory>                <!--注意此次必须要放在此目录下才能被访问到-->                <targetPath>META-INF/resources</targetPath>                <includes>                    <include>**/**</include>                </includes>            </resource>            <resource>                <directory>${project.basedir}/lib</directory>                <targetPath>BOOT-INF/lib/</targetPath>                <includes>                    <include>**/*.jar</include>                </includes>            </resource>            <resource>                <directory>src/main/resources</directory>                <includes>                    <include>**/**</include>                </includes>                <filtering>false</filtering>            </resource>        </resources>    </build></project>