建立java开发环境

来自软件实验室
跳转至: 导航搜索

jrebel的使用

jrebel能够显著提高java web的开发效率,目前最新版本为6.2.1,请从百度云下载。

jrebel的配置

6.2.1版本

  • 执行命令bin/setup.sh -r "jboss等容器的安装目录" -jr path-to/jrebel.jar,按照屏幕的指示回答问题即可
  • 将lib/jrebel.lic文件复制到合适目录下,通常和jrebel.jar在同一个目录即可
  • 执行bin/activate-gui.sh,给出第二步的jrebel.lic文件激活

5.3.2版本

无需jrebel.lic文件,直接使用jar文件即可

无法reload xhtml文件的解决方法1

如果jrebel无法重载xhtml文件,则可以尝试在web.xml文件增加:

For JSF 1.2 (Facelets 1.x)

<context-param>
    <param-name>facelets.REFRESH_PERIOD</param-name>
    <param-value>0</param-value>
</context-param>
<context-param>
    <param-name>facelets.DEVELOPMENT</param-name>
    <param-value>true</param-value>
</context-param>

For JSF 2(Facelets 2.x):

<!-- Time in seconds that facelets should be checked for changes since last request. A value of -1 disables refresh checking. -->
<context-param>
    <param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name>
    <param-value>0</param-value>
</context-param>

<!-- Set the project stage to "Development", "UnitTest", "SystemTest", or "Production". -->
<!-- An optional parameter that makes troubleshooting errors much easier. -->
<!-- You should remove this context parameter before deploying to production! -->
<context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
</context-param>

无法reload xhtml的解决方法2

如果上面的解决方法1无效(在linux下面还没有找到原因),则可以采取下面的方法。

编写一个FilesystemResourceResolver如下:

package com.mallng.tools;

import java.net.MalformedURLException;
import java.net.URL;

import com.sun.facelets.impl.ResourceResolver;

public class FilesystemResourceResolver implements ResourceResolver {

	@Override
    public URL resolveUrl(String s) {
        try {
            return new URL("file", "",
                  "/home/subaochen/workspace/eshop/view" + s);
        } catch (MalformedURLException e) {
            e.printStackTrace();
            return null;
        }
    }
}

然后在web.xml中增加:

<context-param>
    <param-name>facelets.REFRESH_PERIOD</param-name>
    <param-value>0</param-value>
</context-param>

<context-param>
        <param-name>facelets.RESOURCE_RESOLVER</param-name>
        <param-value>com.mallng.tools.FilesystemResourceResolver</param-value>
</context-param>  

但是需要记得在生产环境中最好拿掉web.xml中的这个配置以提高性能,也防止在ResourceREsovler中写死的路径导致错误。