본문 바로가기

노력을 이기는 재능은 없고
노력을 외면하는 결과도 없다.
- 이창호 9단

E R R O R/Java Error6

[Java Error] A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be availavle in order to run Eclipse. No Java Virtual machine was found after searching the following locations. 이클립스를 실행할때면 가끔 볼 수 있는 에러 알림창이다. 난 분명 JDK도 설치도하고 설정까지 다 했는데 이클립스를 실행하면 저런 에러가 발생하는 경우가 있다. 이런 에러 알림창이 뜰때마다 여간 당황스러울수가 없지만, 해당 에러창은 크게 문제가 되거나 복잡한 에러가 아니기때문에 간단하게 해결할 수 있다. 해결방법 JDK 환경변수 설치 확인 또는 JDK 환경변수 재설정 또는 설정 시 절대경로로 설정하기 JDK 환경변수 설치 확인 1. JDK가 정상적으로 설치되고 설정되었는지 확인하기 위해 명령 프롬프트 창을 열고 "java -version"을 확인한다. 자바 버전 명령어 : java -version or javac -version 위와 같이 java version "1.8.0_271" 이라고 출력되면 정상.. 2022. 9. 7.
[Java Error] java.sql.SQLException: ORA-01461: can bind a LONG value only for insert into a LONG column 게시판에 글 등록을 하던 중, 위와 같은 에러가 발생했다. 내용으로 작성하고 있었던 텍스트 길이가 데이터베이스 테이블의 내용 컬럼의 공간보다 훨씬 컸나보다. Long으로 설정된 컬럼은 Long에 맞춰 내용을 작성하여 저장해야하는데, 그렇지 못한 것이다. 내용에 이미지를 한개 첨부했는데 해당 이미지가 base64로 인코딩되어 들어가는 바람에 이미지가 데이터로 변환되서 내용에 첨부되었다. 그래서 엄청난 길이의 텍스트 데이터로 내용에 첨부되었다. 실제 html형태로 보면 이미지지만 소스코드 보기로 확인해보면 엄청난 길이를 가진 텍스트로 보여진다. 처리결과 데이터베이스 테이블에서 설정한 컬럼의 최대 공간안에서 글을 작성하거나, 데이터베이스 테이블의 해당 컬럼 크기를 CLOB으로 변경하여 더 많은 데이터를 담을 .. 2022. 8. 9.
[Java Error] java.lang.ArithmeticException: / by zero 테스트용도로 게시판 리스트를 구현하려고 하던중에, 페이징 처리를 하여 서버로부터 데이터를 구현해서 클라이언트로 보내기위해 해당 페이지를 요청하는데 / by zero 에러가 뿜어져나왔다. 무언가를 0으로 나누려고해서 발생하는 에러인데, 어딘가에서 0으로 나누려고 시도했던것 같다. 0으로 나눠질것 같은 부분 부분을 찾아보았는데 페이지를 구성하기위해서 PagingVO를 꾸며주는 setter, getter부의 기본 초기값을 설정하지 않아, setter에서 값이 없으므로 정의 초기값인 0이 들어가 0으로 나눠져 위와 같은 에러가 발생했다. 처리결과 어떠한 값을 0으로 나누려고 해서 발생, 0으로 나누지 못하도록 값의 정의 및 초기화를 진행한다. PagingVO 클래스에 정의된 변수 들 중, screenSize와 .. 2022. 8. 8.
[Java Error] Cause: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory, ORA-00923: FROM keyword not found where expected. 테스트 프로젝트로 사용하던 서비스를 수정하기 위해서 오랜만에 프로젝트를 열고 Mysql 데이터베이스로 사용하던 설정들을 Oracle 데이터베이스 설정으로 변경 후, 서버를 가동하고 로그인을 진행했다. 그런데, ORA-00923: From keyword not found where expected. 라는 에러가 발생했다. From절과 관련이 있는거 같아 DB 쿼리가 있는 Mapper쪽으로 가 로그인을 관장하는 Mapper xml을 들여다보았다. 쿼리에 Mysql에서 사용중이던 구문이 있어 수정하고, 오타 또한 확인했지만 오타는 없었다. 다시 서버를 재가동하고 로그인을 진행했다. 하지만 같은 에러가 뿜어져나왔다. 설정이 잘못된건가? 어디서부터 잘못된건지 하나하나씩 찾아나갔다. 한참을 헤매고 시도하다가 마지막.. 2022. 8. 4.
[Java Error] Invalid character found in method name. 서비스를 띄우려고 톰캣을 실행하고 서비스 URL을 인터넷 브라우저에서 실행하였는데 홈페이지가 열리지 않고 위와 같은 에러가 발생하였다. 기존에 개발서버에서도 문제 없이 열렸던 서비스가 열리지 않으니 당황스러웠다. 톰캣 docbase가 잘못되었나? 소스상에 누락된 부분이 있나? 404에러와 같은 경로를 정확하게 작성하지 않은건가? 등등 여러가지 확인점을 가지고 확인을 해보았다. 하지만 그런 모든 부분이 아니고 내가 설정한 js에서 http로 요청하면 https로 바로 연결되게 한 js가 문제였다. 개발서버에는 신뢰할수 있는 SSL 보안인증서가 등록되어 있거나 OpenSSL과 같은 보안 정책이 등록되어 있지 않은 상태였기에 위와 같은 에러가 발생한 것이다. 그래서 해당 js를 주석처리하고 개발서버를 실행하였.. 2022. 6. 6.
[Java Error] java.lang.IllegalStateException: Optional int parameter 'bo_no' is present but cannot be translated into a null value due to being declared as a primitive type. 에러 해결방법 Rest Api 통신중, 서버로 int bo_no 파라미터를 받아 처리하는 함수가 있는데 요청도 안오고 그냥 500에러만 출력하는 에러가 발생했다. 에러로그는 아래와 같다. java.lang.IllegalStateException: Optional int parameter 'bo_no' is present but cannot be translated into a null value due to being declared as a primitive type. [ 구글 번역 ] 구글 번역을 해보니, bo_no가 파라미터로 속성으로 넘어오지만, 값이 없어 null처리를 하려고 했으나 int라 null 변환이 안된다는 에러다. 선택적 int 매개변수 'bo_no'가 있지만 기본 유형으로 선언되었기 때문에 nul.. 2021. 12. 29.