由于我在ubuntu下权限设置分开,如
/home/JBoss/ (JBoss4.2的安装文件路径) 文件所属用户 JBoss
/home/luko/Eclipse(Eclipse3.4的安装路径) 文件所属用户 luko
所以在Eclipse想debug web程序,用Eclipse启动JBoss,但eclpse所属的用户luko没有权限启动JBoss,所以要修改JBoss的一些文件权限,否则启动不成功(或提示一些文件找不到)
1. /home/JBoss/server/default/conf/JBoss-service.xml要修改为(其他用户)可读写
2 ./home/JBoss/server/default/log/server.log 要修改为(其他用户) 可读写
3. /home/JBoss/server/default/tmp/ 这个目录要修改为(其他用户) 可读写,因为Eclipse启动JBoss要在这个目录插入部署文件
4. /home/JBoss/server/default/deploy 把要debug的程序,例如工程 TestServlet.war 放在这个目录
5. 开始转向debug模式,同时在Eclipse要指定TestServlet的src部分的java文件路径
6. 在 Eclipse 工程 TestServlet点右键 Debug as --->Debug on server 配置JBoss
7. 远程地址访问JBoss例如 本机ip地址是192.168.199.42其他机器访问本ip, 在server/default/deploy/JBoss-web.deployer/server.xml文件<Connector port="8080" address="${JBoss.bind.address}"${JBoss.bind.address}就是绑定的ip,改成0.0.0.0就可以了.8080是访问端口号
8 .如果用Eclipse 启动JBoss后debug project,现在用Eclipse关闭JBoss后,现在想JBoss/bin/run.sh启动JBoss会提示错误:
could not make copy for file:/home/JBoss-4.2.0.GA/server/default/conf/JBoss-service.xml
java.io.IOException :permission denied
failed to find META-INF/JBoss-service.xml to archive JBoss-service.xml
原因是用Eclipse启动JBoss,在/server/default/tmp/底下生成的project所属权限是luko所以JBoss用户无法删除这些文件解决办法: 把/server/default/tmp/底下的project全删除然后执行JBoss/bin/run.sh
9 .有时候jsp文件改动拉,但是页面刷新还是没有效果原因是server/default/work/localhost/**project 这个是存储jsp编译后的.class文件这个jsp.class文件没有被更新,直接把对应的jsp.class删除,(把整个project目录删除好象不行,不知道是不是bug)然后刷新browser
10 .如果/server/default/deploy/void_econtract.jar存在,且void_econtract.war权限所属 luko, JBoss用户想把 /tmp/void_econtract.jar copy 到/server/default/deploy/
会提示permission denied
【编辑推荐】