I'm facing a problem with this specific project, the resultant target/classes/application.properties is copied as an empty one when I update the src/main/resources/application.properties.
For this project I'm using two datasources/jpa configs, following the same format as the following:
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(basePackages = { PJE_BPMN_PACKAGES }, entityManagerFactoryRef = PJE_BPMN_EMF, transactionManagerRef = PJE_BPMN_TM)
public class PjeBpmnDbConfig {
@Autowired
private Environment env;
@Primary
@Bean(name = PJE_BPMN_DS)
@ConfigurationProperties(prefix = "pjebpmn.datasource")
public DataSource createDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = PJE_BPMN_EMF)
@Primary
@ConfigurationProperties(prefix = "pjebpmn.jpa")
public LocalContainerEntityManagerFactoryBean createEntityManager(EntityManagerFactoryBuilder entityManagerFactoryBuilder,
@Qualifier(PJE_BPMN_DS) DataSource dataSource) {
Map<String, String> properties = new HashMap<>();
System.out.println(
"lendo pjebpmn.jpa.hibernate.ddl-auto do properties, e retornou: " env.getProperty("pjebpmn.jpa.hibernate.ddl-auto", "NADA"));
properties.put("hibernate.hbm2ddl.auto", env.getProperty("pjebpmn.jpa.hibernate.ddl-auto", "update"));
properties.put("hibernate.dialect", env.getProperty("pjebpmn.jpa.properties.hibernate.dialect", "org.hibernate.dialect.PostgreSQLDialect"));
return entityManagerFactoryBuilder.dataSource(dataSource).packages(PJE_BPMN_PACKAGES).persistenceUnit(PJE_BPMN_DS).properties(properties)
.build();
}
@Primary
@Bean(name = PJE_BPMN_TM)
public PlatformTransactionManager createTransactionManager(@Qualifier(PJE_BPMN_EMF) EntityManagerFactory entityManagerFactory) {
JpaTransactionManager transactionManager = new JpaTransactionManager(entityManagerFactory);
return transactionManager;
}
}
In the pom.xml, I'm using the start.spring.io generated, with spring-boot-starter-data-jpa, spring-boot-starter-web, lombok, spring-boot-devtools, spring-boot-configuration-processor and postgresql dependencis.
Whats wrong?
PS: I activated the Eclipse > Preferences > Maven > Annotation Processing > "Experimental" option, and the deactivated moments later.
Environment:
- Mac Os catalina
- Eclipse 2022-09
- Sprint boot 2.7.6
I've tried with no success:
- delete project from eclipse and eclipse files (.project, .settings, etc) and import as an "existing MVN project"
- remove lombok and spring-boot-configuration-processor from pom.xml
CodePudding user response:
A friend from work, Simão, help me to find the problem.
I don't know how or why but in Eclipse inside Project properties > Java Build Path > tab Source > source folders on build path > project/src/main/resources, the option Excluded was Excluded: **, where is supposed to be Excluded: none
I expected that the application.properties wasn't copied at all, instead of a empty copy of it.

