我尝试使用JDK 9和Gradle构建已经存在的项目。Gradle - Java 9 - spring-data-ja
我想我有一个模块加载的问题。
这里是我的gradle这个依赖的一个样本:
java.lang.NoClassDefFoundError: javax/transaction/SystemException
所以一个溶液还包括:
compile("org.springframework:spring-context:${spring_version}"){
exclude group: 'commons-logging', module: 'commons-logging'
}
compile("org.springframework.data:spring-data-jpa:${spring_data_version}"){
exclude group: 'commons-logging', module: 'commons-logging'
}
compile ("org.apache.commons:commons-dbcp2:${commons_dbcp2_version}"){
exclude group: 'commons-logging', module: 'commons-logging'
}
compile ("org.hibernate:hibernate-entitymanager:${hibernate_version}"){
exclude group: 'org.jboss.spec.javax.transaction'
}
compile ("org.hibernate:hibernate-java8:${hibernate_version}"){
exclude group: 'org.jboss.spec.javax.transaction'
}
当我尝试建立,我运行测试时出现以下错误以下依赖关系:
compile "javax.transaction:jta:1.1"
而且构建现在退出,出现模块重复错误l IKE在此:
error: module flyway.core reads package javax.transaction.xa from both jta and java.sql
error: module hibernate.jpa reads package javax.transaction.xa from both jta and java.sql
error: module hibernate.entitymanager reads package javax.transaction.xa from both jta and java.sql
我也试图包括选项--add模块java.se.ee,但它仍然无法正常工作。
恢复我的问题:我需要在我的module-info.java中有java.sql,但我还需要javax.transaction:jta依赖关系jar,并且此jar与java.sql模块发生冲突。
任何帮助将不胜感激!
我试过gradle这个文档中发现的配置:https://guides.gradle.org/building-java-9-modules/, 在建。的gradle: 'afterEvaluate { compileJava { doFirst { options.compilerArgs = [ '--module路径',classpath.asPath, ] } }' –
其实我试图许多配置添加的模块,我也在'build.gr中试过这个adle': 'tasks.withType(AbstractCompile){ options.compilerArgs + = [ “--add模块”, “java.se.ee”] } tasks.withType(试验){ jvmArgs + = [“--add-modules”,“java.se.ee”] }' –
这些问题没有说明它无法找到模块/软件包。它从两个(可能是自动的)模块中读取包。您可以从其中的任何一个中排除它,而保持其他仍然为您提供所需功能的另一个。 – nullpointer