J'étais frustré de ne pas pouvoir le compiler même s'il s'agissait d'une source simple, mais c'était une erreur sans résultat. Un mémorandum pour ne pas le réveiller.
Si je le fais avec le plug-in Doma d'Eclipse, j'obtiens une erreur si je ne déplace pas le fichier.
contenu de l'erreur
Erreur: [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".
▼ Exemple de code
Traitement principal
@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();
}
gradle
plugins {
id 'org.springframework.boot' version '2.1.4.RELEASE'
id 'java'
}
task copyDomaResources(type: Sync) {
from sourceSets.main.resources.srcDirs
println 'Source de copie de fichier SQL'
println sourceSets.main.resources.srcDirs
into compileJava.destinationDir
println 'Destination de copie de fichier 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"
}
-Si vous créez un fichier SQL en le saisissant simplement avec le plug-in Doma d'Eclipse, il sera sous Java.
▼ Avant la correspondance (image)
Avec cela, vous ne pouvez pas copier le fichier SQL. Parce que la source de la copie est des ressources. .. .. Par conséquent, vous pouvez déplacer le dossier META-INF vers les ressources
▼ Après la correspondance (image)