이야기를 나눠요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
STS를 사용하면서 발생한 에러(org.gradle.tooling.BuildException)
STS로 인강을 듣는데 form-start 프로젝트를 import하면서 아래와 같은 에러가 발생했습니다. org.gradle.tooling.BuildException: Could not fetch model of type 'GradleBuild' using connection to Gradle distribution 'https://services.gradle.org/distributions/gradle-6.8.2-bin.zip'. 찾아보니 gradle 버전이 맞지 않아서 생기는 문제였습니다. form-start의 프로젝트에서 gradle > wrapper 디렉토리에 가면 gradle-wrapper.properties라는 파일이 있는데 영한님이 올리신 프로젝트에는 3번째 라인이 아래와 같이 되어있습니다. ' distributionUrl=https://services.gradle.org/distributions/gradle-6.8.2-bin.zip ' 그리고 제가 STS로 gradle 프로젝트를 생성했을 때 gradle-wrapper.properties 파일은 아래와 같이 되어있었습니다 distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip 저같이 STS로 인강을 들었는데 저와 같은 문제가 발생했다면 STS로 gradle 프로젝트를 생성하시고 해당 부분을 변경해보시기 바랍니다.
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Gradle JDK를 올바르게 설정해도 빌드가 안되었던 분들에게
저는 환경변수, Project JDK, Gradle JDK를 모두 11로 설정했음에도 빌드 시, 8버전을 설치했던 경로로 찾아서 빌드하려 했기에 오류가 났습니다.이번 과정에서 Gradle 사용경로를 바꿔보니 해결되었기에 노하우를 공유하고자 합니다. 문제 : Gradle JDK(JVM)을 새로 설치한 11버전으로 잡았음에도,프로젝트 빌드 시, 이전에 삭제했던 8버전의 경로로 찾아갔다. 해결법: Gradle을 직접 로컬에 설치하여 그 경로를 IntelliJ에 인식시켜준다! 상세: 1. https://gradle.org/releases/에서 원하는 버전을 다운받고 원하는 경로에 압축해제한다. 2. IntelliJ - Settings - (Gradle 검색)에서 압축 해제한 경로(예: C:/Gradle/gradle-7.2)를 Use Gradle from에 작성한다.
-
스프링 부트 개념과 활용
Gradle 사용 시 Parent 설정 불필요한 이유
회사에서 Gradle을 사용중이라 Maven 대신 Gradle로 설정했습니다 :) Maven 대신 Gralde 사용 시 *-stater-parent 상속을 어떻게 해야하는 지 찾아보다가 공유합니다. Gradle 사용 시, io.spring.dependency-management 플러그인을 적용하면 자동으로 spring-boot-starter-parent을 import 한다고 합니다. 예전 버전인 SpringBoot 1.4.5 공식문서에 아래 문장 발췌합니다. > The spring-boot plugin automatically applies the Dependency Management Plugin and configures it to import the spring-boot-starter-parent bom. This provides a similar dependency management experience to the one that is enjoyed by Maven users Gradle로 Spring Boot 프로젝트를 생성하면 자동으로 아래처럼 플러그인이 적용되어 있습니다. (별도로 추가하지 않아도 됌) plugins { id 'org.springframework.boot' version '2.5.0' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java'} 그리고 SpringBoot 2.5.0 공식문서에서 Gradle 사용하여 의존성 관리 시 Maven 사용자들이 Gradle을사용했을 때 유사한 사용자 경험을 할 수 있도록 제공해준다고 합니다. 버전 차이가 제법 나서 1.4.5 버전과 동일하게 *-stater-parent을 import 해주는 지는 모르겠지만, 사용자들이 내부에서 어떻게 상속받아오는지 알지 못해도 상관없도록 잘(?) 제공해주고 있는 것 같습니다. 결론 : 그냥 Gradle로 SpringBoot 신규 프로젝트 생성 시 설정되는 의존성 그대로 사용하면 된다.
-
스프링과 JPA 기반 웹 애플리케이션 개발
archunit gradle 의존성 주입
testImplementation 'com.tngtech.archunit:archunit-junit5:0.13.1'
-
자바 ORM 표준 JPA 프로그래밍 - 기본편
gradle과 mysql로 진행 하시는 분 보세요
그래들 의존성은 아래와 같아요 dependencies { testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' testCompile group: 'junit', name: 'junit', version: '4.11' compile group: 'org.hibernate', name: 'hibernate-entitymanager', version: '5.3.10.Final' compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.6' implementation "jakarta.xml.bind:jakarta.xml.bind-api:2.3.2" implementation "org.glassfish.jaxb:jaxb-runtime:2.3.2"} persistence.xml <?xml version="1.0" encoding="UTF-8"?><persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" version="2.1"> <persistence-unit name="hello"> <class>패키지.클래스</class> <properties> <!-- 필수 속성 --> <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/> <property name="javax.persistence.jdbc.user" value="root"/> <property name="javax.persistence.jdbc.password" value="비밀번호"/> <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/root?serverTimezone=UTC&characterEncoding=UTF-8"/> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> <property name="hibernate.use_sql_comments" value="true"/> </properties> </persistence-unit></persistence> 이렇게 설정해야 강의듣는데 문제가 없더라구요! 클래스 태그 안에는 패키지 명, 클래스 이름 넣어주시면 됩니다. 비밀번호는 mysql 계정 비밀번호 입력하시면 됩니다! 야생형으로 시작해서 gradle이 편하더라구요!ㅎㅎ 강의를 듣는데 저처럼 gradle, mysql로 진행하시는 분이 계시다면 이렇게 설정하시고 시간 절약하세요!
-
스프링과 JPA 기반 웹 애플리케이션 개발
Gradle ModelMapper 의존성 주입
implementation group: 'org.modelmapper', name: 'modelmapper', version: '2.4.2' //현시점 기준 최신버전이 2.4.2 // 백선장님 버전은 2.3.6