스킬(skills)/자바(Java) 52

tiles 2 설정시 다음과 같은 에러 발생 시

tiles 2 설정시 다음과 같은 에러가 발생하는 경우가 있다.Error creating bean with name 'tilesConfigurer' defined in ServletContext resourceInvocation of init method failed; nested exception is java.lang.NoSuchMethodError 이 경우는 다른게 잘못 된 것이 아니라 tiles 2 설정 경로를 잘못 작성시 발생하는 문제다예를 들어 value 값을 다음과 같은 경로로 입력해야 하는데 잘못 기입을 하면 클래스 생성을 못해 위의 에러가 발생한다. /WEB-INF/config/tiles/layout.xml 따라서 value 값을 잘 기입 하여야 한다./WEB-INF/config/tile..

@SuppressWarnings 이란

@SuppressWarnings 는이클립스 컴파일러가 알려주는 노란색 경고 표시를 없애주는 역할을 한다. 다음과 같이 종류에 맞게 사용하면 된다. @SuppressWarnings("unchecked"); all : 모든 경고를 표시 안함cast : 캐스트 연산자 관련 경고를 표시 안함dep-ann : 사용하지 말아야 할 주석 관련 경고를 표시 안함deprecation : 사용하지 말아야 할 메소드 관련 경고를 표시 안함fallthrough : switch문에서의 break 누락 관련 경고를 표시 안함finally : 반환하지 않는 finally 블럭 관련 경고를 표시 안함null : null 분석 관련 경고를 표시 안함rawtypes : 제네릭을 사용하는 클래스 매개 변수가 불특정일 때의 경고를 표시 안..

jxl.read.biff.BiffException: Unable to recognize OLE stream

jxl 을 이용하여 엑셀 파일을 읽어들이는 처리를 할 때 다음의 에러가 나타날 수 있다. jxl.read.biff.BiffException: Unable to recognize OLE stream 이 경우는 내가 경험 해 본 바로는 2가지의 경우에 나타난다. 1. 엑셀 파일인것처럼 보이나 실제로는 HTML 파일인 것- HTML 파일도 확장자만 변경하여 엑셀 파일인것처럼 할 수 있다는걸 알것이다. 이런식으로 정상적이지 않은 엑셀 파일일 경우 발생한다.2. xls 파일이 아닌경우- 현재 xlsx 를 지원 하는지 여부는 좀 더 조사해 보아야 하는데 구 버전의 jxl 같은경우 xlsx 를 지원하지 못한다. 따라서 xls로만 사용 하여야 한다.

Synchonized 를 어디에다 걸어야 하는지 헷갈리는 경우

public class Test4 extends Thread { public synchronized static void a() { System.out.println("a"); b(); } public static void b() { try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("b"); } public void run() { a(); } public static void main(String[] args) { for (int i = 0; i < 5; i++) { Test4 t = new Test4(); t.start(); } } } 위 소스를 예를 들었을 때 syn..

Launch4j 를 이용하여 java 파일을 실행파일(exe)로 만들기

java 파일을 Launch4j 를 이용하여 윈도우용 실행파일(exe) 로 만들수가 있다.우선 http://launch4j.sourceforge.net 에서 해당 프로그램을 다운로드 받는다. 또는 이걸 다운받는다.(현재 이 글 작성당시 최신버전) 1. 해당 프로젝트의 properties로 들어간 후 Run/Debug Settings 에서 New 버튼을 클릭한다. 2. Java Application 을 선택한 후 3. Search를 눌러 main 메소드가 실행 될 클래스를 지정한다. 4. 해당 클래스를 지정 후 5. Name 지정 후 OK 버튼을 누른다. 6. 프로젝트에서 Export를 누른 후 Java 에서 Runnable JAR file 을 선택하여 jar 파일을 만들어 준다. 7. 생성될 경로를 지정..

com.sun.mail.smtp.SMTPTransport.close 의 lock 현상 해결 방법

java mail 을 이용하여 메일 발송 시 com.sun.mail.smtp.SMTPTransport.close 구문에서 lock 이 걸려 thread hang이 발생하는 경우가 생기는 경우가 있다. 이럴 경우에는 mime 생성 시 timeout 값을 지정 해 주면 된다.timeout 값이 지정되어 있지 않으면 다음과 같이 무한정 대기 상태에 빠지게 된다. "webtob1-hth0(localhost:9900)-w06 [container1-26]" prio=1 tid=0x087e1288 nid=0x1ea0 runnable [0x5d1fc000..0x5d1fcea0]at java.net.SocketInputStream.socketRead0(Native Method)at java.net.SocketInputS..