一、可以滚动的tomcat窗口 call “%EXECUTABLE%” run %CMD_LINE_ARGS%
在startup.bat中,把原来
call “%EXECUTABLE%” start %CMD_LINE_ARGS%
替换成
call “%EXECUTABLE%” run %CMD_LINE_ARGS% > D:\Tomcat\logs\console.log
副作用是: 1.控制台看不到了 2.catalina.bat和startup.bat在同一个DOS窗口中运行
二、运行时获取方法调用堆栈信息 Throwable ex = new Throwable(); StackTraceElement[] stackElements = ex.getStackTrace();
if (stackElements != null) {
for (int i = 0; i < stackElements.length; i++) {
System.out.println(stackElements[i].getClassName());//返回类的完全限定名,该类包含由该堆栈跟踪元素所表示的执行点。
System.out.println(stackElements[i].getFileName());//返回源文件名,该文件包含由该堆栈跟踪元素所表示的执行点。
System.out.println(stackElements[i].getLineNumber());//返回源行的行号,该行包含由该堆栈该跟踪元素所表示的执行点。
System.out.println(stackElements[i].getMethodName());//返回方法名,此方法包含由该堆栈跟踪元素所表示的执行点。
System.out.println("-------------第"+i+"级调用-------------------");
}
}
三、eclipse中批量修改Java类文件中引入的package包路径 问题:当复制其他工程中的包到新工程的目录中时,由于包路径不同,出现红叉,下面的类要一个一个修改包路径,类文件太多的话就比较麻烦了,如何批量改变包路径解决这个问题? 解决方案:Ctrl+h >> file serach >> 输入原包名(类型为*.java)>>Replace>>找到后输入要替换的包名 然后自己选择是全部替换还是部分替换.
四、java环境变量 1.打开我的电脑–属性–高级–环境变量
2、新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0 变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
1、 选择“系统变量”中变量名为“Path”的环境变量,双击该变量,把JDK安装路径中bin目录的绝对路径,添加到Path变量的值中,并使用半角的分号和已有的路径进行分隔。 变量名:Path 变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 这是java的环境配置,配置完成后直接启动eclipse,它会自动完成java环境的配置
五、tomcat用户配置 手动安装的tomcat没有生成admin跟manager用户,要进入tomcat的admin管理界面必须自己手动添加. 打开tomcat安装目录下的conf/tomcat-users.xml文件,在和中间添加:
和
其中user字段中的username和password就是你的用户名跟密码,添加完成后就可以用这个用户名跟密码登录tomcat的admin以及manager页面了.
六、eclipse修改项目名称 1、右键工程:Refactor->Rename,或选中工程按F2,修改名称 2、右键工程:Properties->Web Project Settings,修改Context Root 3、修改项目目录/.setting目录下的org.eclipse.wst.common.component文件,project-modules的wb-module内容,包括: (1)deploy-name:配置到web server时显示的组件名称; (2)java-output-path:类编译文件的输出位置; (3)context-root:部署目录。 4、修改项目目录下:.project文件 CMS
七、Jackson json 处理全大写或不规范的JSON 面对不遵守驼峰命名规则的接口咋办?当然首先要吐槽一下,不过接口是别人定的,虽然看着不爽但还是得去适配,比如cardNumber,他返回的叫{CARDNUMBER:”}。
通过对API的研究可以通过@JsonProperty以及@JsonAutoDetect来实现。如: /** 性别 **/
@JsonProperty(“SEX”)
private String sex;
八、如何将manve配置成外部引用jar包,就是打jar包时不将jar打进去,而是引用外部地址? 在把引用的jar配置成provided就行了。
九、类、方法的上级? StackTraceElement[] stacks = Thread.currentThread().getStackTrace(); for(StackTraceElement s: stacks){ System.out.println(“——-“+s.getMethodName()+” : “+s); } 或 Ctrl+Alt+H