일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- RaspberryPi
- GitHub
- maven
- 개발노트
- rubymine
- JS
- kotlin
- error
- Java
- Spring
- gradle
- react
- OAuth
- Shell
- ruby2d
- Python
- plugin
- 루비
- Vane
- IntelliJ
- Android
- C
- ruby
- gnuplot
- Baekjoon
- boj
- jetbrains
- Godot
- CPP
- OTLanguage
- Today
- Total
목록Language/Java (13)
PersesTitan(페르) 기술블로그
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/st6Bo/btsvNMKLmgC/f5qYlDq3B6MNQHIIFZhPp1/img.png)
Spring은 jdk 21이 공개되었기 때문에 jdk를 21로 바꾸고 생길 만한 에러를 찾아보았습니다. 예전에도 17로 글을 작성하였지만 21로 업그레이드하면서 문제가 발생할 가능성도 생각하여 작성하게 되었습니다. 해결 방법은 이전과 동일한데요. File -> Project Structure (단축키: Command + ;)를 통해서 설정으로 이동한후 Build, Execution, Deployment -> Build Tools -> Gradle에 들어가서 Gradle JVM에 들어가서 jdk가 21을 선택해주시면 됩니다. jdk21 설치하는법 jdk21이 없으면 아래 링크를 참고하여 설치하시면 됩니다. https://persestitan.tistory.com/119 [IntelliJ] 인텔리제이에서 J..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cxS0xk/btsvNMDSFym/8IhzuCjA3DX04OLGHXffE1/img.png)
jdk21로 올라오면서 새로운 방식의 format이 추가 되었습니다. 평소에 자바는 format에 대한 지원이 약하다고 생각이 들어왔지만 이제는 해당 부분들을 해결할려고 하는 것 처럼 보였습니다. 기존 format StringBuilder 방식 int a = 1; int b = 2; StringBuilder value = new StringBuilder() .append(a) .append(" + ") .append(b).append(" = ") .append(a + b); System.out.println(value); String.format 방식 int a = 1; int b = 2; String value = String.format("%d + %d = %d", a, b, a + b); Syste..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bRRc4T/btsvMJU1qqo/muUkwXEDkuOAOGbuMRtwFK/img.png)
https://www.oracle.com/kr/java/technologies/downloads/#java21 Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts. www.oracle.com 얼마전 새로운 LTS버전인 JDK21이 새로 나와서 설치해서 사용해보기로 했습니다. 위 링크를 사용하여 수동 다운로드를 해도 되지만 intellij를 사용하고 있는 입장에서 해당 ide를 사용하여 jdk21를 설치하는 방법을 간단하게 작성하게 되었습니다. (약간 새로운 LTS버전이 나오면 새로운 핸드폰 모..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/NI2NU/btsvXd8mdcJ/V1dERcWKEgyas0pZ0kpQK0/img.png)
Java 21로 올리고 나서 Unsupported class file major version 65와 같은 에러가 발생했습니다. 해당 에러는 Gradle에서 빌드하는 자바 버전이 현재 버전과 일치하지 않아서 발생하는 에러입니다. 보통 해결 방법은 설정 -> Build, Execution, Deployment -> Gradle 에서 Gradle JVM의 버전이 컴파일 버전과 일치하면 해당 에러를 해결할 수 있습니다. JDK 21 에러 유지 (해당 글 작성일 기준: 2023/09/26) jdk21인 경우 나온지 얼마 되지 않아서 21버전에 맞는 Gradle이 존재하지 않는 것 같습니다. 21버전에 맞는 Gradle버전이 나올때까지는 Empty Project로 생성하여 jdk21를 사용할 수 있을 듯 보입니다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/brPKax/btr9nmOR3lz/7hmusClugGVpQL5vYBNPN0/img.png)
예전에 구현했었던 [Java] BadWordFiltering (욕, 비속어 필터 라이브러리)에 기능을 추가하게 되었습니다. 라이브러리 특성상 욕설등이 포함되어 있을 수 있다는 점 주의해주세요. 업데이트 변경 사항 checkAndChange(String) -> change(String)로 메소드명칭이 변경되었습니다. 추가 사항 change(String, String[]) 리턴 타입 : String 파라미터 : (필터링할 텍스트, 확인할 특수기호) 설명 : 받은 텍스트에 욕설중간에 특수기호등으로 넣어두어도 필터링하는 기능 예시 코드 필터링될 문자는 욕설로 대체합니다. BadWordFiltering filtering = new BadWordFiltering(); System.out.println(filteri..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/czgq2h/btr9z9mvlVB/41bOhNEUQsEW5HMDhWWSd1/img.png)
주의 비속어, 욕을 다루는 라이브러리인 많큼 코드에 욕과 비속어가 보일 수 있습니다. 양해부탁드립니다. 현재 라이브러리에 단어를 추가중입니다. 관심이 있으신 분은 아래 링크를 통하여 단어 추가에 협력부탁드립니다. 욕/비속어 코드 링크 바로가기 BadWordFiltering 2 (욕설 필터링 라이브러리) 생성자 BadWordFiltering badWordFiltering = new BadWordFiltering(); BadWordFiltering badWordFiltering = new BadWordFiltering(String); 메소드 add() 리턴타입: void 설명: 라이브러리에서 지원하는 단어중에 원하는 단어가 없을 경우 해당 메소드를 사용하여 추가할 수 있습니다. badWordFiltering..
InvocationTargetException는 생성자 또는 메서드를 호출하였을때 throw를 받는 Exception입니다. 발생하는 예시 생성자를 호출하였을때 throw가 발생하였을때 메소드를 호출하였을때 throw가 발생하였을때 기타 코드 발생하는 예시 (...) public Main() throws FileNotFoundException { new FileReader(""); } (...) (...) try { Class.forName("Main").getConstructor().newInstance() } catch (InvocationTargetException e) { e.printStackTrace(); } (...) 출력 java.lang.reflect.InvocationTargetExce..
IllegalAccessException는 접근할 수 없는 필드, 메소드, 클래스에 접근하였을때 발생하는 에러입니다. 발생하는 예시 클래스파일을 찾을 수 없을때 다른 버전으로 컴파일된 파일을 사용하였을때 해당 파일에 접근할 수 없을때 기타 오라클 링크 https://docs.oracle.com/javase/7/docs/api/java/lang/IllegalAccessException.html
InstantiationException는 Class에 있는 newInstance를 사용하여 객체를 생성하는 것에 실패하였을때 발생하는 에러입니다. 발생하는 예시 클래스가 인터페이스일때 클래스가 추상클래스일때 기타 이유 오라클 링크 https://docs.oracle.com/javase/7/docs/api/java/lang/InstantiationException.html
HALF_UP(반올림) 예시 코드 BigDecimal a1 = new BigDecimal("10"); BigDecimal a2 = new BigDecimal("3"); BigDecimal b1 = new BigDecimal("10"); BigDecimal b2 = new BigDecimal("6"); System.out.println(a1.divide(a2, 2, RoundingMode.HALF_UP)); System.out.println(b1.divide(b2, 2, RoundingMode.HALF_UP)); 출력 본래 값 1.66666666666666.... 3.33333333333333.... 3.33 1.67 초기값결과 5.5 5 2.5 2 1.6 2 1.1 1 1.0 1 -1.0 -1 -1.1 ..