项目构建

    生成jboot.sh或者jboot.bat,依赖maven的appassembler插件,因此,你的maven配置文件pom.xml需要添加如下配置:

    config pom.xml

    进行maven构建

    构建完毕后,会在target目录下生成一个app文件夹,在app文件的bin目录下会有一个jboot脚本(或者jboot.bat)。

    启动应用

    1. cd yourProjectPath/target/app/bin
    2. ./jboot
    在启动的时候添加上自己的配置信息
    1. cd yourProjectPath/target/app/bin
    2. ./jboot --jboot.server.port=8080 --jboot.rpc.type=local
    使用你自己的配置文件来代替 jboot.properties

    上面的命令启动后,会使用 jboot-dev.proerties 文件来替代 jboot.properties 同时设置 jboot.server.port=8080(服务器端口号为8080)

    后台程序

    在以上文档中,如果通过如下代码进行构建的。

    1. mvn package appassembler:assemble

    那么,如果构建一个后台运行的程序呢?步骤如下:

    第一步:执行如下maven编译
    1. mvn clean package appassembler:generate-daemons

    maven命令执行完毕后,会在target下生成如下文件夹 /generated-resources/appassembler/jsw/jboot , 文件中我们会找到bin目录,生成的后台脚本jboot(或jboot.bat)会存放在bin目录里。

    第二步:启动应用
    1. cd yourProjectPath/target/generated-resources/appassembler/jsw/jboot/bin
    2. ./jboot

    此时,启动的应用为后台程序了。

    首先,需要配置的自己的pom文件的packaging为war,并配置上maven编译插件:

    这个过程和普通的java web工程没什么区别。

    1. <filter>
    2. <filter-name>jfinal</filter-name>
    3. <filter-class>com.jfinal.core.JFinalFilter</filter-class>
    4. <param-name>configClass</param-name>
    5. <param-value>io.jboot.web.JbootAppConfig</param-value>
    6. </init-param>
    7. <filter-mapping>
    8. <filter-name>jfinal</filter-name>
    9. <url-pattern>/*</url-pattern>
    10. </filter-mapping>

    这里注意:param-value一定使用io.jboot.web.JbootAppConfig,或者是其子类。

    如果用到shiro,再配置上:

    1. <filter>
    2. <filter-name>shiro</filter-name>
    3. <filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class>
    4. </filter>
    5. <filter-mapping>
    6. <filter-name>shiro</filter-name>
    7. <url-pattern>/*</url-pattern>
    8. </filter-mapping>
    9. <listener>
    10. <listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class>
    11. </listener>

    一般情况下,shiro的配置内容要放到jfinal的配置之上。

    如果项目还用到hystrix,需要添加如下配置:

    1. <servlet>
    2. <servlet-class>com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet</servlet-class>
    3. <servlet-mapping>
    4. <servlet-name>hystrix</servlet-name>
    5. <url-pattern>/hystrix</url-pattern>
    6. </servlet-mapping>

    如果还用到Metrics,添加如下配置:

    假设你的html文件都放在 resource下的htmls目录,配置内容如下:

    1. <plugin>
    2. <artifactId>maven-antrun-plugin</artifactId>
    3. <executions>
    4. <execution>
    5. <phase>compile</phase>
    6. <goals>
    7. <goal>run</goal>
    8. </goals>
    9. <configuration>
    10. <tasks>
    11. <move file="${project.build.directory}/classes/htmls" tofile="${project.build.directory}/${project.build.finalName}/htmls"/>
    12. </tasks>
    13. </configuration>
    14. </execution>
    15. </plugin>