7일간의 Gradle로 컴파일하면 DOMA 4019가 틀린 이유.
그만 깨워.
Eclipse의 Doma 플러그인을 사용하여 파일을 이동하지 않으면 오류가 발생합니다.
잘못된 내용
エラー: [DOMA4019] The file "META-INF/doma/sample/dao/TestDao/selectAll.sql" is not found in the classpath. The absolute path is "/Users/harutotanabe/Downloads/sample/build/classes/java/main/META-INF/doma/sample/dao/TestDao/selectAll.sql".
▶ 샘플 코드주 처리
@SpringBootApplication
public class SampleApplication {
public static void main(String[] args) {
SpringApplication.run(SampleApplication.class, args);
}
@Autowired
TestDao TestDao;
@Bean
CommandLineRunner runner() {
TestDao.selectAll();
return null;
}
}
Entity@Entity
public class Test {
public Integer id;
public String test;
}
Dao@ConfigAutowireable
@Dao
public interface TestDao {
@select
List<Test> selectAll();
}
gradleplugins {
id 'org.springframework.boot' version '2.1.4.RELEASE'
id 'java'
}
task copyDomaResources(type: Sync) {
from sourceSets.main.resources.srcDirs
println 'SQLファイルのコピー元'
println sourceSets.main.resources.srcDirs
into compileJava.destinationDir
println 'SQLファイルのコピー先'
println compileJava.destinationDir
include 'doma.compile.config'
include 'META-INF/**/*.sql'
include 'META-INF/**/*.script'
}
compileJava {
dependsOn copyDomaResources
options.encoding = 'UTF-8'
}
apply plugin: 'io.spring.dependency-management'
group = 'doma'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
mavenLocal()
maven {url 'https://oss.sonatype.org/content/repositories/snapshots/'}
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
compileOnly 'org.projectlombok:lombok'
compile group: 'org.seasar.doma.boot', name: 'doma-spring-boot-starter', version: '1.1.1'
runtimeOnly 'org.postgresql:postgresql'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
annotationProcessor "org.seasar.doma:doma:2.24.0"
implementation "org.seasar.doma:doma:2.24.0"
}
· Eclipse의 Doma 플러그인으로 엔터테인먼트만 입력하고 SQL 파일을 만들면 자바 아래에 있으면 된다.▶ 대응 전(인상)
그러면 SQL 파일을 복사할 수 없습니다.복제품의 출처는 Resources이기 때문에...
따라서 META-INF 폴더를 Resources로 이동하면 OK
▶ 대응 후(인상)
Reference
이 문제에 관하여(7일간의 Gradle로 컴파일하면 DOMA 4019가 틀린 이유.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/haruto167/items/59d898edd29a4cab8e2a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)