본문 바로가기
Team Project/이화동네

Spring Boot 웹 서비스 출시하기 삽질기록- 2019.9.30~10.07

by RunTheWorld 2019. 10. 7.

김명은 

 

기록 1. 블로그의 개발툴: 

  • IDE : IntelliJ IDEA Ultimate
  • Git Tools : Source Tree
  • OS : Mac OS X
  • SpringBoot 1.5.9
  • Java8
  • Gradle

개인 개발툴: 

  • IDE : IntelliJ IDEA Ultimate
  • Git: Cmd 이용 
  • SpringBoot 2.1.9
  • Java 8
  • Gradle

Spring initializer 이용할 때 intellij community version을 시도함 

해결책

1. Community version에서 Spring initializer를 import해서 쓰기 

아래 블로그 참조

https://steps-for-developer.tistory.com/entry/Intellij%EB%A1%9C-SpringBoot-%EA%B2%8C%EC%8B%9C%ED%8C%90-%EB%A7%8C%EB%93%A4%EA%B8%B0-1

 

Intellij로 SpringBoot 게시판 만들기 1 - spring initializr와 gradle로 프로젝트 생성

개발 환경 : JAVA : jdk 1.8 개발툴 : intellij IDE Community version 2018.03 에디터 : vscode spring boot 2.1.0.RELEASE 스프링 부트는 스프링의 여러 기술들(Data, Batch, Integration, Web, JDBC, Security)..

steps-for-developer.tistory.com

2. Ultimate version 다운 받아 쓰기 

학생 이메일은 1년간 무료 -> 나는 이걸 선택함 

 

기록 2. 

java cannot find symbol
symbol: method builder 

해결책 

1. builder annotataion 달았는지 확인  

2. lombok plugin 했는지 확인 

3. Java jdk version 올림 원래는 11버전 지금은 18  => 이렇게 프로젝트 다시 생성 후 에러 없어짐 

 

기록 3. Error Message 

Unable to make the module: related gradle configuration was not found. Please, re-import the Gradle project and try again

해결책

1. build.gradle 파일 refresh

2. Auto-import

3. re-import 

3가지 다 시도함 

아래 해결책 참조 

https://stackoverflow.com/questions/28193980/unable-to-make-the-module-related-gradle-configuration-was-not-found-please-r

 

Unable to make the module: related gradle configuration was not found. Please, re-import the Gradle project and try again

I use IntelliJ IDEA Ultimate 14 and Gradle 1.2. I manage the project from the console, but I need to debug some of the code from the IDE. When I try to make the project, this error window appears...

stackoverflow.com

기록 3. Whitelabel Error

해결책 

1. Controller와 Application을 같은 package에 넣어야한다. => 해결 안됨 발생하는 이유가 많아 디버그가 힘든 유형  

 

기록 4. DATABASE_NOT_FOUND_2 = 90146 Error 

에러 설명

http://h2database.com/javadoc/org/h2/api/ErrorCode.html#c90146

 

ErrorCode

ErrorCode This class defines the error codes used for SQL exceptions. Error messages are formatted as follows: { error message (possibly translated; may include quoted data) } { error message in English if different } { SQL statement if applicable } { [ er

h2database.com

해결책 

1. properties를 실수로 yaml파일로 수정 원래는 yml 파일로 수정해야함  

2. JDBCURL에 jdbc:h2:mem:testdb 입력해야하나 

실행됐을 때 나오는 기본 설정으로 시도 

 

기록 5. Required request body is missing

해결책 

Postman에서 Json으로 request보내야되는 걸 반대로 함 

POST Request는 메시지가 보내져야 창에서 보여짐 

 

전재원

 

원래 나는 java IDE로 이클립스를 사용하는데, 강의를 좀더 빠르게 따라하기 위해 intellij를 설치했다… 근데 내 컴퓨터에 원래 jdk와 jre가 여러개 설치되어있었는데 path가 충돌한건지.. 계속 실행이 안됐다.

 

그래서 jdk와 jre를 싹 다 지워버림(jdk 13,12버전과 jre 7버전을 지움)

이후 jdk 12 하나만 설치했다.

 

그런데도 안됨……

jdk13이 없다고 뜨는데, 당연히 없다.. 내가 지웠으니까

이거 수정해주려고 환경변수를 다 뒤져봤는데 싹 다 jdk12로 알맞게 고쳐져있었다.

 

그래서 결국 intellij를 지우고 재설치했다.

intellij를 4번이나 지웠다가 새로 설치한 흔적 ㅜㅜ

 

그랬더니 해결됐다!!!

아무래도 intellij 설치전에 jdk가 여러개 있어서 그랬던 것 같다.

 

그리고 문득 예전에 자바를 처음 배울 때 교수님께서 “jdk를 먼저 깔고 IDE를 설치하세요”라고 하셨던게 생각났다.

 

======================================================================

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Initialization of bean failed; nested exception is org.springframework.jdbc.datasource.init.ScriptStatementFailedException: Failed to execute SQL script statement #1 of class path resource [data-h2.sql]: insert into posts (title, author, content, created_date, modified_date) values ('테스트1', 'test1@gmail.com', '테스트1의 본문', now(), now()); nested exception is org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: NULL not allowed for column "ID"; SQL statement:

insert into posts (title, author, content, created_date, modified_date) values ('테스트1', 'test1@gmail.com', '테스트1의 본문', now(), now()) [23502-199]

 

id값 없이 ('테스트1', 'test1@gmail.com', '테스트1의 본문', now(), now());로  insert해주니까 id가 NULL이 된거같다..

 

그래서 Posts클래스의 id필드를 수정해주니까 해결됐다!



블로그 참고:https://stackoverflow.com/questions/39094649/h2-database-null-not-allowed-for-column-id-when-inserting-record-using-jdbcte

 

H2 database: NULL not allowed for column "ID" when inserting record using jdbcTemplate

I use hibernate's hbm2ddl to generate schema automatically. Here is my domain: @Entity public class Reader { @Id @GeneratedValue(strategy=GenerationType.AUTO) Long id; @Column(nullable=f...

stackoverflow.com



장보민

[Spring] 플러그인 에러/plugin error/BUILD FAILURE

필자는 github에서 spring-petclinic 프로젝트를 다운받아서 개발 환경을 설정할 예정이었다.

 

1. 

git clone [url]

2. 해당 디렉토리로 이동

3. ./mvnw package

./mvnw package

입력

여기까지는 괜찮았다.

하지만

곧바로 위와 같은 에러가 떴다.

하지만 당황하지 않고 깃이 시키는 대로 다음 url에서 해결법을 알아보았다.

플러그인 관련 오류가 굉장히 많이 나서, 해결법을 모아둔 페이지 같았다.

나는 Build 실패의 이유를 surfire plugin 문제라고 생각했고 구글링을 해서 찾아보았더니

https://stackoverflow.com/questions/36427868/failed-to-execute-goal-org-apache-maven-pluginsmaven-surefire-plugin2-12test

 

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project.

I have been trying from a couple of days to resolve the following error but I am unable to resolve it :( My module's pom.xml file is:

stackoverflow.com

프로젝트의 pom.xml 파일을 수정해야한다고 했다.

거의 모든 사이트에서 pom.xml 파일을 수정해야한다고 하긴했는데.. 무서워서 못하고 다른 곳에 삽질하고 있었던 나 반성해..

<plugins>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-surefire-plugin</artifactId>

          <version>2.19.1</version>

        </plugin>

  </plugins>

무서운 만큼 구조를 잘 살폈다.

위의 코드를 삽입하면 되는데, 일단 빌드문제니까 빌드태그 안에 위의 코드가 들어가야한다고 생각했기 때문에

build 태그 안에, plugins 태그 안에 위의 코드를 삽입했다.

저장 후, 다시 

./mvnw package

위 명령어를 입력하니

BUILD SUCCESS!!!

 

댓글