我已经通过right click > Build Path > Configure Build Path > Module Dependencies
手动将java.smartcardio
库添加到Eclipse项目中。
无论如何,在right click > Gradle > Refresh Gradle Project
之后,库再次从构建路径中删除。
工作时的.classpath:
...
<classpathentry ...>
<attributes>
<attribute name="module" value="true"/>
<attribute name="limit-modules" value="java.se,jdk.accessibility,jdk.httpserver,jdk.jartool,jdk.javadoc,jdk.jconsole,jdk.jshell,jdk.jsobject,jdk.management.jfr,jdk.naming.ldap,jdk.net,jdk.scripting.nashorn,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,jdk.unsupported.desktop,jdk.xml.dom,java.smartcardio"/>
</attributes>
</classpathentry>
...
刷新Gradle后的.classpath:
...
<classpathentry ...>
</classpathentry>
...
在project.gradle中手动设置限制模块
eclipse {
classpath {
file {
whenMerged {
def jre = entries.find { it.path.contains 'org.eclipse.jdt.launching.JRE_CONTAINER' }
jre.entryAttributes['module'] = 'true'
jre.entryAttributes['limit-modules'] = 'java.se,java.smartcardio'
}
}
}
}
没有工作,因为奇怪的是,每个开发人员都有不同的限制模块填充时,手动添加库.
有什么办法永久解决这个问题吗?
编辑:我发现了这个线程https://github.com/eclipse/buildship/issues/760,它描述了同样的问题,但没有为我解决问题。
1条答案
按热度按时间dy1byipe1#
谢谢你的建议,我已经修改了你的代码,它似乎工作在jdk 17