我試着用彈簧數據的JPA的一個項目,然而即時得到一些編譯錯誤,如使querydsl:如何在spring boot 1.4.1中配置querydsl?
The type com.querydsl.core.types.Predicate cannot be resolved. It is indirectly referenced from required .class files
此外,當我運行mvn乾淨安裝我得到這個:
Caused by: java.lang.ClassNotFoundException: com.querydsl.core.annotations.QueryEntities
我回顧了我的classpath中的jar,我可以看到querydsl-core 4.1.4,querydsl-apt 4.1.4和querydsl-jpa 4.1.4。但該項目仍然沒有爲我編譯,請問springboot 1.4.1和querydsl有問題嗎?
我有這個在我的pom.xml文件
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<scope>provided</scope>
</dependency>
和插件
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>1.1.3</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources/java</outputDirectory>
<processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>
難道我做錯了什麼?
--- UPDATE ---
我從降級4.1.4 querydsl 4.1.3到至少正在編制項目。現在,我可以開始一些測試,我會發布我的發現。
我認爲這個問題仍然存在,因爲默認情況下,spring boot 1.4.1自帶querydsl 4.1.4版本。
您是否在build> plugin或build> pluginmanagement> plugin上添加了上述插件。你需要把插件放在build>插件 –