내가 필요해서 내가 적는 블로그

JAVA 백엔드 개발자의 기록들

반응형

전체 글 34

jar 파일 만들어서 실행하기(Windows, Linux, crontab, exe) 총 정리(1)

(1) jar 파일 만들고 Windows에서 실행 (2) Linux crontab에 등록 (3) jar 파일을 exe로 만들기 eclipse에서 프로젝트 우클릭 → Export → Export... → Runnable JAR file 을 선택하면 아래와 같이 창이 뜬다. Extract required libraries into generated JAR 를 선택하면 프로젝트에 넣었던 외부라이브러리를 포함하여 JAR를 만들게 된다. Export destination에 설정한 위치로 가보면 JAR 파일이 만들어져있고, CMD를 열어서 파일위치로 이동한뒤 java -jar 파일이름.jar 명령어를 입력하면 jar 가 실행되고 Hello World가 출력된다. 여담... 나같은 경우에 처음에 JAR 실행시 DB ..

DEVOPS 2021.11.19

[Maven] 메이븐 프로젝트에 Tibero jdbc.jar 추가하기

Tibero jdbc를 활용하여 Tibero DB에 접속할 일이 생겼다. tibero6-jdbc.jar 위치 C:\TmaxData\tibero6\client\lib\jar (기존 설치 경로내 client 폴더 아래에 있음) Maven 공식 사이트에서는 Tibero 라이브러리가 존재 하지않는다. 따라서, 직접 Maven 프로젝트에 넣어줘야 한다. (nexus에 올려두고 사용가능) jdbc.jar를 꺼내어 나의 프로젝트에 넣어주자. 를 system으로 설정한뒤, 를 지정하면 끝. com.tmax.tibero tibero-jdbc 6.0 system ${basedir}/webapp/WEB-INF/lib/tibero6-jdbc.jar - 소스예제. static String TIBERO_DRIVERLCASS = ..

DEVOPS 2021.11.03

[JAVA] java cron expression

Quartz에서 사용하는 crontab 표현식을 알아보자(feat. Java Spring) Support for specifying both a day-of-week AND a day-of-month parameter is not implemented. (ERROR CASE 내용 포함) Quartz에서 사용하는 표현식은 아래와 같다. //매일 새벽1시에 수행 @Scheduled(cron="0 0 1 * * ?") * * * * * * * 6자리 혹은 7자리(year은 생략 가능) 초 분 시 일 월 요일 연도(생략가능) [특수문자 표현] * 아스테리스크 : ALL 모든값을 의미 ? 물음표 : 특정값 없음 - 하이픈 : 값의 범위 지정 , 콤마 : 여러개의 값을 지정 / 슬러시 : 초기값과 증가치를 지정 1..

JAVA 2021.10.29

[JAVA] contains 함수의 재밌는 원리

앞서 포스팅 한 것처럼 contains를 활용하여 변수 및 리스트에 객체가 포함되어 있는지 확인이 가능하다. String str = "contains TEST"; System.out.println(str.contains("contains")); // true List list = new ArrayList(); list.add("금요일"); System.out.println(list.contains("금요일")); // true 그럼 이 contains 가 어떻게 비교하는지 아라보자~! contain... 포함, 함유, 일부 라는 뜻이다. 이 함수를 사용하여 내가 확인하고 싶은 값이 있는지, 없는지 확인이 가능한데, contains 함수는 모든클래스가 상속하고 있는 Object Class 내부의 equal..

JAVA 2021.10.28

[JAVA] Json key값 존재 여부 확인 .has()

클라이언트에서 서버로 넘어오는 헤더 데이터에 email을 추가하였다 에러로그를 찍어놓진 못했지만, email key값을 찾을 수 없다는 에러였던 걸로 기억난다. JSONObject reqJson = JSONObject.fromObject(header.getData()); String loginId = reqJson.getString("loginId"); String email = reqJson.getString("email"); 위와 같이 코드를 구성하였을때, getString email을 서버에는 적용해두었지만, 클라이언트에서 email 의 value를 서버로 던지지 않았기 때문에 에러가 발생하였다. String email = ""; if(reqJson.has("email")){ email = reqJ..

JAVA 2021.10.26

[Maven] 프로젝트에 Json lib 추가하기, Exception in thread "main" java.lang.NoClassDefFoundError:

MVN 프로젝트에 Json 간단 테스트를 진행 하려고 했다. 그런데 !! 벌써 부터 어질어질하네.. 나의 경우엔 (Eclipse) 프로젝트 우클릭 → Build Path → Configure Build Path... → Libraries → Add External Jars... 로 기존에 사용하던 Jar 파일을 .m2 repository에서 찾아 꺼내어 재활용하고자 했었다. 위의 과정으로 json.jar를 추가시, json 내부에서 다른 라이브러리를 참조하여 사용하기 때문에 해당 클래스를 찾을 수 없는 ClassNotFoundException이 발생한다. 구글링 하면, 아래의 Json 관련 라이브러리를 추가 하여야 한다고 나온다. commons-beanutils commons-collections com..

JAVA 2021.10.26

[JAVA] 특정 문자 포함 확인 .contains (String, List )

★ 특정 문자열에 특정 문자열이 포함되어 있는지 확인 public class App { public static void main( String[] args ) { String str = "contains TEST"; System.out.println(str.contains("contains")); // true System.out.println(str.contains("test")); // false * contains가 str 객체에 포함 되어 있으므로, boolean true를 반환함. * 대소문자를 구분한다. ★ 특정 List 에 특정 문자열이 포함되어 있는지 확인 List list = new ArrayList(); list.add("월요일"); list.add("화요일"); list.add("수..

JAVA 2021.10.15

org.apache.ignite.IgniteCheckedException: Failed to get SPI attributes. (해결, solved)

★ 결론적으로 아래 내용에 답은 있지만, 소스 수정은 방문자께서 하셔야 해결이 될 듯. 로컬테스트를 위해 ignite cache를 사용하는 모듈 기동시 아래와 같이 에러가 발생했다. 기존엔 잘 됐음 ㅠㅠ 서버 기동시 ignite configuration에 의해 cache가 기동되는데, 해당 에러는 localhost IP를 ignite cahce SPI에 할당하지 못 한 것으로 보였다. org.apache.ignite.IgniteCheckedException: Failed to get SPI attributes. Caused by: org.apache.ignite.spi.IgniteSpiException: Failed to resolve local host to addresses: 0.0.0.0/0.0.0..

DEVOPS 2021.10.13

MySQL error 1040 "Too many connections" & Increase max connections 에러 해결

DB에 연결된 클라이언트의 컨넥션이 초과되어 나타나는 메세지이다. 보통 localtest 기준으로 프로그램을 사용할 때는 상관 없지만, 운영서버에서는 DB서버에 연결되는 컨넥션수의 증가로 인해 기본 151의 값이면 무조건 발생하는 에러이다. 설정하고 가자! ★ 현재 컨넥션 설정 보기 SHOW VARIABLES LIKE "max_connections"; ★ connections value 늘려주기 SET GLOBAL max_connections = 500; * windows 사용자는 접속 툴에서 위의 쿼리 Go Go~ ! * linux 계열 사용자는 my.cnf 파일에 적용 ( 일반적으로 /etc/my.cnf 경로에 위치 함. ) 끄읏! 본문 내용이 도움이 되셨다면, 아래의 공감버튼을 눌러주세요. 정보 공..

DB 2021.09.30

MySQL , MariaDB 쿼리 로그 보기

DB에 root 로 접속을 한뒤, 아래의 명령어로 로그 설정을 확인하자! SHOW VARIABLES LIKE 'general%; SHOW VARIABLES LIKE 'log_output%'; 로그 설정 OFF / 생성되는 로그파일의 위치가 보일 것이다. 아래의 명령어로 셋팅을 해보자. SET GLOBAL general_log = 'ON'; SET GLOBAL general_log_file = 'D:\general.log'; * 참고로 windows 사용자의 경우 C 드라이브에는 권한 이슈로 파일이 생성되지 않을수도 있다. * DB 재시작을 하지 않아도 바로 적용이 된다. 생성된 파일을 열어보자! 끄읏. 본문 내용이 도움이 되셨다면, 아래의 공감버튼을 눌러주세요. 정보 공유를 위한 포스팅에 큰 힘이 됩니다..

DB 2021.09.30
반응형