Java

    embed tomcat 설정하기

    인텔리제이(Intellij)에서 내장톰캣을 사용하려면 얼티밋버전이어야한다는데, 사실 얼티밋버전이 아니더라도 내장톰캣을 사용할 수 있다! (조금 귀찮기는 하지만) 난 참고로 얼티밋 버전이지만 어떻게 될 지 몰라서 일단 설정법을 올려놓는다. 의존성 설정 (pom.xml) 1.8 1.8 8.5.23 org.apache.tomcat tomcat-catalina ${tomcat.version} org.apache.tomcat.embed tomcat-embed-core ${tomcat.version} org.apache.tomcat.embed tomcat-embed-jasper ${tomcat.version} org.apache.tomcat tomcat-jasper ${tomcat.version} org.apach..

    H2 데이터베이스 의존성 문제

    무슨 에러가 떴었냐면 java.lang.RuntimeException: Failed to load driver class org.h2.Driver in either of HikariConfig class loader or Thread context classloader 이라는 익셉션이 발생했다 말그대로 런타임 익셉션이었는데.. 이건 내가 의존성 추가해줄 때 추가를 미처 하지 못했다. H2 는 메모리에 쓰는 DB다, 즉 런타임시에만 사용하는 DB라고 볼 수 있다. com.h2database h2 1.4.200 runtime scope를 runtime으로 바꿔주는 것으로 해결한다.

    자바 Jsoup 웹 크롤링 EUC-KR encoding 문제

    데이터 읽을 일이 있어서 크롤링하는데 페이지가 EUC-KR로 되어있어 이거 디코딩하는방법을 몰라서.. 시간이 많이들었다. 제목에는 Jsoup만 써놨지만, org.apache.http 패키지(http코어)를 쓸 때도 encoding문제를 해결 할 수 있다. 일단 제목에 나온대로 Jsoup부터 해결방법을 제시하겠다. --- JSoup 의존라이브러리 --- org.jsoup jsoup 1.12.1 -- 아파치 코어 의존라이브러리 -- org.apache.httpcomponents httpcore 4.4.12 org.apache.httpcomponents httpclient 4.5.10 commons-logging commons-logging 1.2 공통 필드 URL객체는 따로 적지않았다. 링크 문자열을 주기 ..

    MySQL JDBC 연동 시 타임존 에러

    MySQL JDBC 연동 시 타임존 에러

    java.sql.SQLException: The server time zone value '���ѹα� ǥ�ؽ�' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support. MYSQL로 로컬프로그램 JDBC 연동하는데 타임존 에러가나길래 찾아봤더니 mysql-connector-java 이슈라고한다. 버전이 높아지면서 타임존 이슈에러가 발생한다고한다...

    Maven Project 빌드 시 (CLI 환경) 각종 설명 및 팁

    Maven Project 빌드 시 (CLI 환경) 각종 설명 및 팁

    CLI 환경에서 메이븐 프로젝트를 만들 시 선행조건 - 메이븐 설치 - 메이븐이 제시하는 폴더 구조를 만들어주어야함 - pom.xml 정의 https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html Maven – Maven in 5 Minutes Java 9 or later By default your version of Maven might use an old version of the maven-compiler-plugin that is not compatible with Java 9 or later versions. To target Java 9 or later, you should at least use version 3...

    로그백 실행방법(logback, java)

    로그백 실행방법(logback, java)

    일단 공식홈페이지에서 다운로드 받을수 있다는데 난 링크가 안뜬다 ㅡㅡ; 그래서 여기에 첨부해놓고 두고두고 쓰려고 한다. 사용에 필요한 파일은 3가지 파일이다 logback-classic.jar logback-core.jar sfl4j-api.jar 미리 작업한 소스코드는 다음 내용과 같다. package kr.co.test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; class Hello { private static Logger logger = LoggerFactory.getLogger(Hello.class); public static void main(String[] args) { logger.info("Hello World!!"); } } ..

    자바 콘솔에서의 다양한 실행방법(jar, 빌드)

    선행작업 환경변수 %JAVA_HOME\lib;.; 여야함 // 이게 이클립스 오류의 주범이기도 했었다 ㅡㅡ; 나의 경우엔 콘솔로 빌드하다 오류발견.. javac (파일명).java java (파일명) - 먼저 빌드하고 class파일로 만들어주어야한다. jar 자바 아카이브 파일 (여러개의 파일을 하나로 묶어서 관리하기 위함) ex ) jar cf test.jar kr\* (생성 옵션, 그리고 생성할 jar파일 명, 묶일 파일들) 패키지 지정시 cp 명령어를 통해 실행해야한다.. 근데 jar파일을 이용하면 바로 실행가능! 메인 클래스가 무엇인지 알려주는 manifest.txt 파일이 필요하다 manifest.txt에서 Main-class: kr.co.test.Hello ( 풀 패키지명, 클래스 명 ) 작성..

    자바 익명클래스와 자바 람다 (Java Anonymous class, Java Lambda) 1편

    자바 익명클래스와 자바 람다 (Java Anonymous class, Java Lambda) 1편

    자바의 람다는 익명클래스와 매우 비슷한 모습을 하고있다. 그러나 둘은 아주 다르다. 익명클래스 일단 익명클래스는 어쨌거나 사용할 때 보통 객체와 동일하게 힙에 할당이 된다. 메인메소드 내에서 익명클래스를 사용하면 컴파일 시에 $1, $2 등과 같은 순서대로 클래스파일이 생성이 된다. 예시로, 평범한 인터페이스를 하나 선언한다. 추상클래스나 일반 클래스도 상관없다. interface Test{ public int getNum(); } 그 후, 메인에서 바로 사용하기 위해 재정의를 해준다. public class LambdaTest { public static void main(String[] args) { Test t1 = new Test(){ public int num = 10; public int ge..