설정 변경

This commit is contained in:
curry772
2026-03-12 10:13:50 +09:00
parent e85e68fe43
commit f00a61133f
3 changed files with 102 additions and 2 deletions
+56
View File
@@ -0,0 +1,56 @@
# 코드 생성 가이드 (QueryDSL Q-class / MapStruct)
## 개요
Eclipse APT(Annotation Processing Tool)를 비활성화하고, **Gradle이 코드 생성을 전담**하도록 설정되어 있습니다.
- **Q-class (QueryDSL)**, **MapStruct 구현체** 모두 Gradle `compileJava` 태스크로 생성됩니다.
- 생성된 파일 위치: `build/generated/java/`
- Eclipse는 `build/generated/java`를 소스 폴더로만 참조합니다 (직접 생성하지 않음).
---
## 코드 재생성이 필요한 경우
| 상황 | 설명 |
|------|------|
| JPA 엔티티 추가 또는 수정 | Q-class 재생성 필요 |
| MapStruct Mapper 인터페이스 추가 또는 수정 | 구현체 재생성 필요 |
| `gradlew clean` 실행 후 | `build/` 디렉토리가 삭제되므로 재생성 필요 |
| 프로젝트 최초 설정 시 | 생성된 파일이 없으므로 반드시 실행 필요 |
---
## 코드 생성 명령어
```bash
# eapim-admin 디렉토리에서 실행
cd D:\eActive\workspaces\elink-djbank\eapim-admin
# Q-class 및 MapStruct 구현체 생성
gradlew.bat compileJava
# 전체 클린 후 재생성
gradlew.bat clean compileJava
```
---
## Eclipse 작업 흐름
1. Java 소스 수정 (엔티티, Mapper 인터페이스 등)
2. `gradlew.bat compileJava` 실행
3. Eclipse에서 프로젝트 선택 후 **Refresh** (`F5`)
4. Eclipse가 `build/generated/java`의 새 파일을 인식하여 에러 해소
---
## 배경 (왜 Gradle로만 생성하는가)
Eclipse APT와 Gradle APT가 동일한 파일을 각자 생성하려 할 때 `FilerException: Source file already created` 오류가 발생합니다.
이를 해결하기 위해 다음과 같이 설정을 변경했습니다:
- `.settings/org.eclipse.jdt.apt.core.prefs`: `aptEnabled=false`
- `.classpath`: `.apt_generated` 소스 폴더 제거, `build/generated/java` 유지
- `.factorypath`: 삭제 (APT 프로세서 등록 해제)
+43
View File
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://xmlns.oracle.com/weblogic/weblogic-web-app"
xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
elementFormDefault="qualified">
<xs:element name="weblogic-web-app">
<xs:complexType>
<xs:all>
<xs:element name="context-root" type="xs:string" minOccurs="0"/>
<xs:element name="session-descriptor" minOccurs="0">
<xs:complexType>
<xs:all>
<xs:element name="timeout-secs" type="xs:integer" minOccurs="0"/>
<xs:element name="persistent-store-type" type="xs:string" minOccurs="0"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="container-descriptor" minOccurs="0">
<xs:complexType>
<xs:all>
<xs:element name="prefer-application-packages" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="package-name" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="prefer-application-resources" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="resource-name" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>
+3 -2
View File
@@ -113,12 +113,13 @@
<logger name="com.eactive.eai.rms.onl.dashboard" level="ERROR" /> <logger name="com.eactive.eai.rms.onl.dashboard" level="ERROR" />
<logger name="com.eactive.eai.rms.common.acl.user.BizDao" level="ERROR" /> <logger name="com.eactive.eai.rms.common.acl.user.BizDao" level="ERROR" />
<logger name="org.springframework" level="DEBUG" /> <logger name="org.springframework" level="INFO" />
<logger name="org.hibernate" level="DEBUG" > <logger name="org.hibernate" level="INFO" >
<appender-ref ref="QUERY_APPENDER" /> <appender-ref ref="QUERY_APPENDER" />
<appender-ref ref="HIBERNATE_APPENDER" /> <appender-ref ref="HIBERNATE_APPENDER" />
</logger> </logger>
<logger name="net.sf.ehcache" level="INFO" /> <logger name="net.sf.ehcache" level="INFO" />
<logger name="org.quartz" level="INFO" />
<logger name="ACCESS_LOGGER" level="DEBUG" > <logger name="ACCESS_LOGGER" level="DEBUG" >