# 项目部署

在完成项目代码开发调试后,我们要进行项目的部署。jweb-boot使用fatjar模式进行部署。因此在正式部署前要将项目打包成fatjar包。

# 构建fatjar包

  1. 在项目的pom.xml文件添加如下构建配置:
<build>
        <finalName>${project.artifactId}-${project.version}</finalName>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.stl</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.*</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <compilerArgument>-parameters</compilerArgument>
                </configuration>
            </plugin>

            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <executions>
                    <!-- 拷贝webapp资源到target/classes/webapp下 -->
                    <execution>
                        <id>copy-webapp-resources</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${basedir}/target/classes/webapp</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>${basedir}/src/main/webapp</directory>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.1.0</version>
                <executions>
                    <!-- 打包为jar -->
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <configuration>
                            <archive>
                                <manifest>
                                    <mainClass>cc.jweb.adai.web.WebApplication</mainClass>
                                </manifest>
                            </archive>
                            <descriptorRefs>
                                <descriptorRef>jar-with-dependencies</descriptorRef>
                            </descriptorRefs>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78

一般情况下,你无需修改上面配置。

  1. 执行maven打包程序
  • 可以通过命令mvn package打包
  • 也可以直接在idea的界面的右边Maven窗口,直接双击对应项目的package操作打包

等待命令执行完成即可以target目录下,看到*-jar-with-dependencies.jar可执行jar包了。

# 执行fatjar

进入fatjar包在目录,通过java -jar *.jar 即可启动

# 配置fatjar

静态资源篇章我们讲过,在fatjar模式下,可以在fatjar所在目录下,创建webapp资源根目录。通过这个目录我们可以配置/WEB-INF/classes子目录,/WEB-INF/views/子目录,/assets子目录等等。

项目配置文件:复制jboot.properties配置文件到{fatjar所在目录}/webapp/WEB-INF/classess目录下,即可修改生效了

视图文件修改:复制views配置文件到{fatjar所在目录}/webapp/WEB-INF/views目录下,即可修改生效了

WEB资源文件:将静态资源文件放到{fatjar所在目录}/webapp/目录下,即可直接浏览器访问了(未被Jweb安全框架控制时)。

开放WEB资源文件:当启用Jweb安全框架时,将静态资源文件放到{fatjar所在目录}/webapp/assets/目录下,即可绕过jweb安全框架直接浏览器访问了。

更多

更多信息,可参考:jweb-boot的项目部署章节