결론적으로 intellij에서 새로운 환경에 대한 SDK가 저장된 경로를 읽어오지 못해서 발생하는 에러이다.

 

다음 순서에 따라 해결하면 된다

 

 

1. 실행을 하려고 버튼을 누르면 한쪽구석에 다음과 같은 메세지가 뜬다.

 

-> 구성 클릭

 

2. 클릭하면 다음과 같은 창이 뜨는데 우리가 원하는곳은 모듈이 아니다.

 

플랫폼 설정 -> SDK 클릭

 

3. 클릭하면 다음과 같은 창이 뜬다. 위에있는 +, - 버튼이 있다.

 

-> 등록된 sdk를 클릭하고 - 버튼 클릭 -> 설정되어있는 sdk버전을 모두 지워준다.

 

-> 그후 적용 및 확인 클릭

 

4. 다음과 같은 메세지가 뜬다. 

 

-> SDK설정을 누르고 SDK가 설치되어있는 폴더를 선택해주면 해결된다.

'Study > 프로젝트 일지' 카테고리의 다른 글

pre_02.22  (0) 2023.02.22
pre_02.21  (0) 2023.02.21
pre_02.20  (0) 2023.02.21
pre_02.17  (0) 2023.02.18
pre_02.16  (0) 2023.02.17

02.22

진행사항 Tag클래스 및 패키지로 분할하였으며 DB저장 작업 진행

 

* 증상 : 서버를 실행하면 즉시 종료

에러 : UnsatisfiedDependencyException: Error creating bean with name 'questionController' defined in file

 

해결방법 : dto에서 Post Response의 변수명이 달라서 발생하는 듯 / 변수명을 일치시켜줬더니 정상 동작함

 

 

* 증상 : responseDto를 추가했더니 오류발생

에러 : constructor TagResponseDto() is already defined in class pre14.stackoverflow.tag.TagResponseDto

 

해결방법 : ResponseDto에서 @RequiredArgConstructor을 제거

 

* Question엔티티에서 아래와같이 @Builder를 사용하면 

@Builder  //QuestionDto.Post클래스타입 매개변수를 Question타입으로 변환하기 위함
public Question(final Long questionId,
                final String title,
                final String contents) {
    this.questionId = questionId;
    this.title = title;
    this.contents = contents;
}

아래와 같이 .builder()을 사용할 수 있다.

public Question toQuestion() {
    return Question.builder()
            .title(title)
            .contents(contents)
            .build();
}

 

수정한 QuestionService클래스의 CreateQuestion부분

 

 

* 증상 : 컴파일에러

에러 : java.lang.NullPointerException: null

 

해결방법 : Service클래스 setmember()의 에러로 확인하여 수정하였음

'Study > 프로젝트 일지' 카테고리의 다른 글

Intellij - 모듈 ....의 SDK가 지정되지 않았습니다. 실행오류 해결  (0) 2023.03.19
pre_02.21  (0) 2023.02.21
pre_02.20  (0) 2023.02.21
pre_02.17  (0) 2023.02.18
pre_02.16  (0) 2023.02.17

진행사항 : 질문 게시판, 회원정보, 답변에  필요한 각각의 매핑

- Tag 클래스 추가하여 게시판과 매핑연동 완료

 

증상 : member Post 500에러

에러 : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed;

 

해결방법 : 생성자 관련 문제로 추정하였고, dto쪽에 @AllArgsConstructor 대신@RequiredArgsConstructor 넣었더니 해결하였음

 

 

증상 : QuestionTag클래스 매핑 작업간 Post500에러 발생

에러: .NoSuchMethodError: 'java.util.List pre14.stackoverflow.questions.dto.QuestionDto$Post.getTags()'

 

해결방법 : QuestionTagDto에 tagId가 없어서 오류가 발생하였음

@Getter
@RequiredArgsConstructor
public class QuestionTagDto {
        private Long tagId; //필수
        private String tagName;
}

 

 

'Study > 프로젝트 일지' 카테고리의 다른 글

Intellij - 모듈 ....의 SDK가 지정되지 않았습니다. 실행오류 해결  (0) 2023.03.19
pre_02.22  (0) 2023.02.22
pre_02.20  (0) 2023.02.21
pre_02.17  (0) 2023.02.18
pre_02.16  (0) 2023.02.17

진행사항 : member, question, answer각각 crud완성 후 팀원들의 개인 브랜치 -> dev브랜치 병합 

- 많은 충돌과 에러가 발생하였으나 결국 해결..

 

* 깃 병합 취소하기

git reset merge ‘head번호‘ // insite에서 확인 가능

 

* 증상 : merge 후 서버가 실행 후 바로 종료되어버림

에러 : BeanDefinitionStoreException: Failed to parse configuration class

 

해결방법 : out 폴더 삭제 -> Gradle -> Task -> Clean -> build -> 재실행

 

'Study > 프로젝트 일지' 카테고리의 다른 글

pre_02.22  (0) 2023.02.22
pre_02.21  (0) 2023.02.21
pre_02.17  (0) 2023.02.18
pre_02.16  (0) 2023.02.17
pre _02.15  (0) 2023.02.15

02.17

스택오버플로우 클론 프로젝트에서 Question 부분을 담당하고있음

 

진행사항

question부분 crud 작업

 

* 증상 : crud를 모두 완성했는데 bean관련 exception이 뜨고 실행이 종료

exception 내용 : BeanDefinitionStoreException: Failed to parse configuration class

 

해결 방법 :

폴더 변경 전의 bean 이름이 사라지지 않아 폴더 변경 후의 bean 이름과 중복된다고 되어 있습니다

 

1. 프로젝트 안에 out 폴더를 찾아 삭제한다.

2. gradle에서 clean을 실행한다.

3. gradle에서 build를 실행한다.

이 과정을 진행했더니 말끔히 진행이 잘 된다.

 

* 증상 : post를 진행하면 401에러가 뜬다 / localhost접속 시 login페이지로만 접속된다

해결 방법

//  implementation 'org.springframework.boot:spring-boot-starter-security'
//     testImplementation 'org.springframework.security:spring-security-test'

요 두놈을 주석처리 하였음

security의존성을 추가하고 아무것도 하지않아서 login페이지로 이동하는거였음!

 

* 증상 : 위에것을 해결했더니 이번엔 500에러가 발생

exception : .SQLSyntaxErrorException: Unknown column 'question0_.contents' in 'field list’

 

해결방법 : entity클래스와 postdto상의 변수명을 일치시켰다 content -> contens

// 기존 question테이블에서 contents가 아니라 body로 되어있어서 삭제 후 재실행 하였음

 

* 증상 : 500에러 발생

exception : SQLIntegrityConstraintViolationException: Column 'contents' cannot be null

 

해결방법 :

@Column(nullable = false)

 주석처리하였음

그런데 generatedMapperlmpl 부분에 setcreated를 해주는 방법 등 여러 가지를 해봐도 작성시간은 아무리해도 null로 표시되고 안뜬다 ㅠㅠ 해결방법찾아봐야함

 

- tip. mysqlenum 문자열값으로 저장하기

@Enumerated(value = EnumType.STRING) //enum값 string으로 출력
private QuestionStatus questionStatus = QuestionStatus.QUESTION_REGISTRATION;

 

 

* 증상 : mysql(LocalDateTime)현재 시간이 추가되지 않음

 

해결방법 :

@CreatedDate
@Column(nullable = false)
private LocalDateTime createdAt ;
@LastModifiedDate
private LocalDateTime modifiedAt;

과 짝이 되는 애너테이션이 있었음

 

- 에플리케이션(실행파일) 필요 애너테이션 :

@EnableJpaAuditing

- 엔티티 클래스 필요 애너테이션

@EntityListeners(AuditingEntityListener.class)
 

'Study > 프로젝트 일지' 카테고리의 다른 글

pre_02.22  (0) 2023.02.22
pre_02.21  (0) 2023.02.21
pre_02.20  (0) 2023.02.21
pre_02.16  (0) 2023.02.17
pre _02.15  (0) 2023.02.15

* mysql연동관련 설정방법

 

- jpa를 사용하기위해 sql 연동하기 위한 yml파일

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/stackoverflow?serverTimezone=Asia/Seoul
    username: root
    password: 1234

  jpa:
    hibernate:
      ddl-auto: create  # (1) ??? ?? ??
    show-sql: true      # (2) SQL ?? ??
    properties:
      hibernate:
        format_sql: true  # (3) SQL pretty print
  logging:
    level:
      org:
        springframework:
          orm:
            jpa: DEBUG

 

의존성 세팅

implementation 'org.springframework.boot:spring-boot-starter-web'
runtimeOnly 'com.mysql:mysql-connector-j'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation 'org.mapstruct:mapstruct:1.5.3.Final'
annotationProcessor 'org.mapstruct:mapstruct-processor:1.5.3.Final'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-mail'

 

mysql연결시 겪을 수 있는 실수와 에러

- 의존성에 mysql-connector-java가 아닌 j를 써야함(mysql버전이 낮을 때 발생하는 오류라고함)

 

-Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 이라는 오류가 뜬 경우

yml파일 url주소 db이름에 해당하는 데이터베이스를 반드시 생성해야함

 

table 이름은 반드시 소문자 이어야함

 

 

 

깃 다른 브랜치에 push하는 방법

git push origin <branch 1>:<branch 2> 명령어를 이용하면 branch 1의 수정 사항을 branch 2에 푸시할 수 있다.

- git push origin branch1:branch2

 

깃 다른 브랜치 pull 하는 방법

git pull origin <branch name>

 

------------------------- 머지하기

1. merge 할 브랜치 이동

 

2. git merge 명령어 호출

 

3. git push 명령어 or vsCode 동기화 클릭

 

ex) 내 브랜치(myBranch) 소스 mastermerge할때

 

1. git checkout master

 

2. git merge myBranch

 

3. git push

 

-------

깃 임시저장 후 다른브랜치로 이동하기

 

git stash

git checkout 브랜치명 //

git stash pop // 다시 불러오기

 

gitignore 설정

gitignore파일 상단에 **/application.yml 추가

git rm r --cached //추적되는 캐시삭제

 

git conflict(충돌) 해결

git merge --abort // 머지 취소

 

모든게 안되면 브랜치 이사가자

db연결 세팅과 협업을 위한 준비절차는 어느정도 된것같으니 본격 개발을 시작해보자!

'Study > 프로젝트 일지' 카테고리의 다른 글

pre_02.22  (0) 2023.02.22
pre_02.21  (0) 2023.02.21
pre_02.20  (0) 2023.02.21
pre_02.17  (0) 2023.02.18
pre _02.15  (0) 2023.02.15

pre_요구사항 정의서ver1.0.hwp
0.05MB
API명세서ver1.0.hwp
0.05MB

23.02.15

 

진행 사항

- 요구사항 정의서

- API 명세서

- git project 칸반

- git Branch 나누기

 

해야할 일

- BE쪽에서 AWS 계정 생성해서 각 api에 더미데이터 넣어 전달

- 테이블 명세서 작성

 
팀프로젝트 시작!

front 쪽에서 AWS에 더미데이터가 있는 서버를 구축하여 잘 작동하는지 확인해 볼 수 있도록 공유해달라고 하였음

마음을 다지고 공부했던것들을 복습하며 프로젝트를 진행 해야겠다. 

'Study > 프로젝트 일지' 카테고리의 다른 글

pre_02.22  (0) 2023.02.22
pre_02.21  (0) 2023.02.21
pre_02.20  (0) 2023.02.21
pre_02.17  (0) 2023.02.18
pre_02.16  (0) 2023.02.17

+ Recent posts