Same project, IDEA 2016 works fine, but IDEA 2017 failed.
Answered
ISSUE: My project used to develop in IDEA 2016.3.x, but recently after I upgrade my IDEA to 2017.3.2, The console throws an error: "org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.elementwin.cc.service.mapper.CcUserMapper.getAllRoles".
So I compared the "build" folder in IDEA 2016 and IDEA 2017, seems IDEA 2017 doesn't copy my **Mapper.xml into target folder.
build folder in IDEA 2016:

Build folder in IDEA 2017:

So, Did I missed some configures just for IDEA 2017? Need help, thanks.
And here is my build.gradle file:
group 'www.elementwin.com'
version '1.0'
apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'idea'
sourceCompatibility = 1.7
repositories {
mavenCentral()
}
[compileJava, compileTestJava, javadoc]*.options*.encoding = "UTF-8"
configurations { providedCompile }
processResources {
from('src/main/java') {
include '*.properties'
include '**/*.xml'
include '**/*.dtd'
include '**/*.class'
}
}
def profile = System.getProperty("profile") ?: "develop"
sourceSets {
main {
resources {
srcDirs "src/main/resources/$profile"
}
}
}
dependencies {
def javax_servlet_api_version="3.0.1"
def spring_version="4.3.10.RELEASE"
def spring_security_version="4.2.3.RELEASE"
def jackson_version="2.6.6"
def poi_version="3.15"
def hibernate_validator_version="5.2.4.Final"
def log4j_version="1.2.17"
def slf4j_version="1.7.21"
providedCompile(
"javax.servlet:javax.servlet-api:3.0.1"
)
compile fileTree(dir:rootProject.getRootDir().getAbsolutePath()+'/ew-common/libs', include:['*.jar'])
compile project(":ew-common")
compile("aopalliance:aopalliance:1.0")
compile("org.ow2.asm:asm:4.2")
compile("org.aspectj:aspectjweaver:1.8.8")
compile("org.apache.axis:axis:1.4")
compile("cglib:cglib:3.2.2")
compile("com.fasterxml:classmate:1.1.0")
compile("commons-beanutils:commons-beanutils:1.9.1")
compile("org.apache.commons:commons-collections4:4.1")
compile("org.apache.commons:commons-dbcp2:2.1.1")
compile("org.apache.commons:commons-email:1.4")
compile("commons-io:commons-io:2.5")
compile("commons-fileupload:commons-fileupload:1.3.2")
compile("org.apache.commons:commons-lang3:3.4")
compile("org.apache.commons:commons-pool2:2.4.2")
compile("commons-logging:commons-logging:1.2")
compile("org.freemarker:freemarker:2.3.25-incubating")
compile("org.hibernate:hibernate-validator:$hibernate_validator_version")
compile("org.hibernate:hibernate-validator-annotation-processor:$hibernate_validator_version")
compile("com.fasterxml.jackson.core:jackson-core:$jackson_version")
compile("com.fasterxml.jackson.core:jackson-annotations:$jackson_version")
compile("com.fasterxml.jackson.core:jackson-databind:$jackson_version")
compile("axis:axis:1.4")
compile("org.javassist:javassist:3.20.0-GA")
compile("com.sun.mail:javax.mail:1.5.5")
compile("javax.xml:jaxrpc:1.1")
compile("org.jboss.logging:jboss-logging:3.2.1.Final")
compile("net.sf.json-lib:json-lib:2.2.3:jdk15")
compile("javax.transaction:jta:1.1")
compile("net.sourceforge.jexcelapi:jxl:2.6.12")
compile("log4j:log4j:$log4j_version")
compile("org.mybatis:mybatis:3.4.1")
compile("org.mybatis:mybatis-spring:1.3.0")
compile("mysql:mysql-connector-java:5.1.40")
compile("ognl:ognl:3.1.8")
compile("org.apache.httpcomponents:httpclient:4.3.5")
compile("org.apache.poi:poi:$poi_version")
compile("org.apache.poi:poi-excelant:$poi_version")
compile("org.apache.poi:poi-ooxml:$poi_version")
compile("org.apache.poi:poi-ooxml-schemas:$poi_version")
compile("org.apache.poi:poi-scratchpad:$poi_version")
compile("org.slf4j:slf4j-api:$slf4j_version")
compile("org.slf4j:slf4j-log4j12:$slf4j_version")
compile("org.springframework:spring-aop:$spring_version")
compile("org.springframework:spring-beans:$spring_version")
compile("org.springframework:spring-context:$spring_version")
compile("org.springframework:spring-context-support:$spring_version")
compile("org.springframework:spring-core:$spring_version")
compile("org.springframework:spring-expression:$spring_version")
compile("org.springframework:spring-jdbc:$spring_version")
compile("org.springframework:spring-tx:$spring_version")
compile("org.springframework:spring-web:$spring_version")
compile("org.springframework:spring-webmvc:$spring_version")
compile("org.springframework.security:spring-security-config:$spring_security_version")
compile("org.springframework.security:spring-security-core:$spring_security_version")
compile("org.springframework.security:spring-security-web:$spring_security_version")
compile("javax.validation:validation-api:1.1.0.Final")
compile("wsdl4j:wsdl4j:1.6.3")
compile("javax.servlet:javax.servlet-api:$javax_servlet_api_version")
compile("eu.bitwalker:UserAgentUtils:1.20")
testCompile("org.springframework:spring-test:$spring_version",
"junit:junit:4.12")
}
task clearProfileFolder(type: Delete) {
copy {
from "build/resources/main/$profile"
into "build/resources/main"
}
delete "build/resources/main/develop"
delete "build/resources/main/test"
delete "build/resources/main/product"
}
war{
baseName "callcenter"
version ""
dependsOn clearProfileFolder
manifest {
attributes('Implementation-Title': 'EW Callcenter Project')
}
}
sourceSets.main.compileClasspath += configurations.providedCompile
sourceSets.test.compileClasspath += configurations.providedCompile
sourceSets.test.runtimeClasspath += configurations.providedCompile
Please sign in to leave a comment.
Related issues:
https://youtrack.jetbrains.com/v2/issue/IDEA-178240
https://youtrack.jetbrains.com/v2/issue/IDEA-173367
https://youtrack.jetbrains.com/v2/issue/IDEA-122326
Thanks @Serge Baranov, I read the three related issues. But no solution found, So is there a fix plan or a solution for this issue?
You can try using additional source set for the resources instead of processResources, like this:
sourceSets.main.resources { srcDirs = ["src/main/java"]; include "**/*.xml" }@Serge Baranov, It works , thanks . Will the future version of IDEA fix this issue?
I hope so.