분류 전체보기 645

Dockerfile

Dockerfile 예제 FROM openjdk:11 ARG JAR_FILE=./build/libs/*.jar COPY ${JAR_FILE} app.jar EXPOSE 8080 ENTRYPOINT ["java", "-jar","/app.jar"] FROM 도커 이미지에서 layer를 생성 ARG 변수 생성 COPY 도커 클라이언트의 현재 폴더에서 파일을 추가 EXPOSE 컨테이너가 연결을 수신하는 포트 지정 ENTRYPOINT 이미지의 주요 명령어 설정해서 명령어를 통해 이미지가 실행될 수 있게 한다. 위의 코드를 해석하면, openjdk:11 이미지를 가져온다. JAR_FILE 변수에 jar 파일을 넣는다. 해당 변수를 app.jar로 복사한다. 8080 포트를 연다. java -jar /app.jar..

DevOps/Docker 2022.04.25

Docker 실행 시 환경 변수 옵션 주기(feat. Jasypt)

1. Dockerfile 수정 ENTRYPOINT ["java","-jar","/app.jar"] 다음과 같은 에러가 발생 Dockerfile에서 위 부분을 아래와 같이 수정 ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} -jar /app.jar"] 2. 빌드 docker build --build-arg JAR_FILE=build/libs/*.jar -t myorg/myapp . 저는 Gradle이고, Maven을 사용하면 build/libs를 target으로 치환하면 됩니다. 3. run docker run -p 8080:8080 -d -e JAVA_OPTS=-Djasypt.encryptor.password=yourpassword myorg/myapp -d는 백그라운드 실..

DevOps/Docker 2022.04.15

[Error] Exception in thread "main" java.lang.UnsupportedClassVersionError:

Docker로 run을 하려니까 이런 에러가 떴다. 클래스 파일은 15 버전으로 컴파일 되었는데 자바 버전이 더 낮아서 안 맞다는 내용이다. Dockerfile에서 버전을 15로 바꾸니까 해결 FROM openjdk:15 첨엔 검색해서 나온 글 따라서 인텔리제이 속성을 바꿔봤지만 안 됨. Dockerfile의 버전이 문제였던 것이다. 참고 👇 https://exerror.com/class-has-been-compiled-by-a-more-recent-version-of-the-java-environment/ [Solved] Class has been compiled by a more recent version of the Java Environment - Exception Error To Solve Cl..

JAVA/Error 2022.04.15

[Error] Installing, this may take a few minutes... WslRegisterDistribution failed with error: 0x800701bc Error: 0x800701bc WSL 2? ?? ?? ?? ????? ?????. ??? ??? https://aka.ms/wsl2kernel? ??????. Press any key to continue...

✨ 해결 https://docs.microsoft.com/ko-kr/windows/wsl/install-manual 이전 버전 WSL의 수동 설치 단계 wsl install 명령을 사용하지 않고 이전 버전의 Windows에 WSL을 수동으로 설치하는 방법에 대한 단계별 지침입니다. docs.microsoft.com 1. x64 머신용 최신 WSL2 Linux 커널 업데이트 패키지를 클릭해 설치 2. 설치하기 wsl --install -d ubuntu 참고 👇 https://blog.dalso.org/article/wslregisterdistribution-failed-with-error wsl 사용시 WslRegisterDistribution failed with error: 0x800701bc 해결하기..

카테고리 없음 2022.04.06

[Error] 부트스트랩 dropdown이 안 될 때

dropdown을 클릭해도 목록이 뜨지 않았다. head에 아래 스크립트를 추가해서 해결 참고 👇 https://getbootstrap.kr/docs/5.0/components/navbar/ 내비게이션 바 Bootstrap의 강력하고 반응형적인 내비게이션 헤더, 내비게이션 바의 문서와 예. 콜랩스(collapse) 플러그인 지원을 포함한 브랜딩, 내비게이션 등의 지원이 포함되어 있습니다. getbootstrap.kr https://www.studytonight.com/bootstrap/solvedbootstrap-dropdown-not-working [Solved]-Bootstrap dropdown not working - Studytonight www.studytonight.com

FE/html 2022.04.01

JPA를 이용한 데이터베이스 초기화

spring.jpa.generate-ddl = true 또는 false 실행 시 데이터베이스를 초기화하는 기능을 on/off spring.jpa.hibernate.ddl-auto none 아무것도 안함 create 기존 테이블은 삭제되고 새로 생성한다. validate 변경된 스키마가 있으면 변경된 점을 출력. DDL을 수정하지 않음. update 테이블과 엔티티를 비교해서 변경된 스키마 적용 create-drop 실행 시 테이블을 drop 및 생성, 종료 시 테이블을 drop 🟢 주의사항 개발 초기 단계는 create 또는 update를 쓴다. 테스트 서버는 update 또는 validate를 쓴다. 스테이징과 운영 서버는 validate 또는 none을 쓴다. 운영 서버에서 create, create..

ORM/JPA 2022.03.31

[Error] H2 데이터베이스 최신 버전

H2 데이터베이스를 다시 설치하면서 이전에 잘 동작했던 테스트 코드가 실행되지 않았다. 💕 해결 2.1.210, 2.0.206 두 버전 다 최신 버전이라서 잘 안됨. 1.4.200 버전을 쓰니까 잘 된다. 최신 버전 사용하면 이전에 잘 되던 코드도 안 되는 경우가 많다는 것을 느꼈다😂 첫 번째 문제) user가 identifier라면서 테이블명이 user로 안 만들어진다. 엔티티에 @Table(name="users")도 붙여봤지만, 다른 에러가 뜬다. 두 번째 문제) id가 null insert into post (id, created_date, modified_date, author, content, title, view) values (null, ?, ?, ?, ?, ?, ?) @GeneratedVa..

Languages/SQL 2022.03.31

[Error] Public Key Retrieval is not allowed

java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed application.properties에서 useSSL=true로 해줌 그 전에는 false였음 MySQL 8.0 이상부터 SSL로 연결해야 한다. SSL은Secure Sockets Layer이다. 데이터를 암호화해서 보안을 유지 spring.datasource.url=jdbc:mysql://localhost:3306/board?useSSL=true 참고 👇 https://deeplify.dev/database/troubleshoot/public-key-retrieval-is-not-allowed [Mysql] Public key retrieval is not..

Languages/SQL 2022.03.29

[Thymeleaf] 글 작성자에게만 수정, 삭제 버튼 보이기

취소 수정 삭제 버튼도 이런 식으로 button 태그를 쓰면 된다. 작성자와 로그인한 유저 아이디를 비교한다. username 변수를 버튼 태그 안에서 쓰면 작동이 안 된다. (div에 쓴 이유) 참고 👇 https://okky.kr/article/873095 OKKY | 타임리프 + 시큐리티질문입니다... 현재 로그인한 사람 게시글 쓴 사람 일 경우 삭제버튼을 추가해주고 싶은데 구글링을 해봐도 잘 모르겠어서 질문합니다 현재 로그인한 사람 정보는 이걸로 값을 얻어 올 수 있습니다. sec:authent okky.kr

FE/html 2022.03.29

[Error] Java cannot find symbol java.util.Optional#isEmpty

Optional의 isEmpty 메소드를 찾을 수 없다는 에러가 떴다. 먼저, 아래 방법대로 해봤는데 안됨 https://youtrack.jetbrains.com/issue/IDEA-242790 Java cannot find symbol java.util.Optional#isEmpty : IDEA-242790 Hi, the following code works return !PlayerCredential.findByIdOptional(username).isPresent(); But the following code does not compile when rebuilding the project: return PlayerCredential.findByIdOptional(username).isEmpty();..

IDE/Intellij 2022.03.26