2008年3月5日

偷梁换柱——如何在Macfee个人防火墙上添加例外

查了很多资料,大家一致认为在个人版上无法添加某个软件为例外(即让防火墙忽略),只能把Macfee认为是例外的软件删除。而对于某些软件来说,Macfee认为威胁很大(像一些游戏的破解启动文件)根本不给机会,直接放到屏蔽中了。
解决的办法其实很无聊,下载一个web迅雷的绿色版,解压到你的游戏目录中,把原来的游戏启动文件改名,把web迅雷的可执行文件改成游戏的名称,然后点击运行web迅雷。这时,macfee会马上检测到系统威胁,但是认为还不是很致命,因此会弹出信息框,询问用户的处理方法,毫不犹豫选择“信任”。然后再到macfee的例外列表中,会看到已经被信任。剩下的事情就很简单了,把假的游戏启动文件删除,把原来的真的游戏的启动文件改回原来的名称即可。或许您会认为这个方法很无聊,确实。不过,如果您和我一样,不愿意把笔记本带的正版的macfee个人版换掉的话,又遇到同样的问题,那就试一试吧。
posted @ 2009-05-18 16:51 恶魔 阅读(1448) | 评论 (0)编辑 收藏

如何配置tomcat使用特定的jdk版本

配置tomcat使用特定的java sdk版本的方法非常简单:
1、修改tomcat/bin/catalina.bat,增加 set JAVA_HOME=XXXXXX,其中XXXXXX为jdk 的路径,如c:\j2sdk1_4

2、修改tomcat/bin/setclasspath.bat,同样增加 set JAVA_HOME=XXXXXX

其实这个问题是很初级的,但是一般人常常忘了步骤2,导致的结果就是特定版本的java启动tomcat,但是jdk用的还是系统默认的(在系统的JAVA_HOME中的设置)。

posted @ 2008-07-14 17:24 恶魔 阅读(7998) | 评论 (2)编辑 收藏

使用正则表达式识别合理的文件扩展名

系统硬件升级,采用nas存储设备代替原来的本地存储,问题出现了。
      用作文件存储的NAS设备居然不支持中文文件名,对其他字符的支持也不好说。
原来的系统处理只把文件名进行了转换,没有考虑文件扩展名,例如,下面的文件名:
      test.测试
转换后变成了:
    374658237937_1.测试

在nas上根本就无法存储,导致程序执行失败
 
解决的办法:
必须对扩展名也进行转换,但又不能全部转换。对于以英文作为扩展名的文件,不作扩展名转换,例如xx.doc
因此,需要使用某种方法把不合适的扩展名找出来,我现在的规则是,对包括下面的字符以外字符的扩展名进行转换,这个规则是我查看window3的所有扩展名后确定的:
      a-z
      A-Z
      _
      -
      0-9
   使用下面的正则表达式:
      "[^\\w\\-]
      由于\w已经包含了a-z,A-Z,0-9以及下划线,所以只要再加上减号就可以了。
    测试用的java代码如下:
   package com.test;
import java.util.regex.Pattern;


public class a {

 static public void main(String[] argc)
 {
    
   System.out.println(Pattern.compile("[^\\w\\-]").matcher("a*b").find());

 }
 
}

如果返回true,说明包含规则外的字符,需要被转换。

posted @ 2008-04-03 16:22 恶魔 阅读(3039) | 评论 (0)编辑 收藏

Unix下如何标记java进程,以方便区分(小技巧)

unix 下通常会启动若干 java 进程,这些进程在使用 ps –ef|grep 命令查看的时候,通常很难分辨。
如:
# ps -ef|grep java
    root 13782 13755  0 14:12:40 pts/3    0:00 grep java
    root 13058 13051  0 18:12:35 ?        1:17 /data/bea/jdk141_03/bin/java -client -Xms32m -Xmx200m -Xverify:none -Djava.secu
    root 13158 13153  0 19:12:35 ?        0:17 /data/bea/jdk141_03/bin/java -client -Xms32m -Xmx200m -Xverify:none -Djava.secu

解决的办法是在启动java进程的脚本中作一点小的修改,在java命令后面增加“-Dmyapp.name=”中文名称”:
"$JAVA_HOME/bin/java"   -Dmyapp.name="总部门户"                  \
  ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS}                         \
  -Dweblogic.Name=${SERVER_NAME}                                 \
  -Dweblogic.management.username=${WLS_USER}                     \
  -Dweblogic.management.password=${WLS_PW}                       \
  -Dweblogic.management.server=${ADMIN_URL}                      \
  -Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" \
   weblogic.Server
这样再使用ps命令查看的时候就可以很容易区分每个java进程了:
# ps -ef|grep java
    root 13782 13755  0 14:12:40 pts/3    0:00 grep java
    root 13058 13051  0 18:12:35 ?        0:17 /data/bea/jdk141_03/bin/java -client -Xms32m -Xmx200m -Xverify:none -Djava.secu
    root 13744 13731  0 13:34:35 ?        1:23 /data/bea/jdk142_05/bin/java -Dmyapp.name=总部门户 -server -XX:NewSize=384m
    root 13597 13589  0 13:15:29 ?        0:59 /data/bea/jdk142_05/bin/java -Dmyapp.name=集群管理服务器 -server -Xms32m -Xmx20
posted @ 2008-03-05 14:15 恶魔 阅读(948) | 评论 (1)编辑 收藏