只是出于好奇,我正在尝试设置 Eclipse 以允许它编译和运行一个应用程序,其中一个标准库类被打了补丁。
我有 2 个 Java 项目patch,consumer一个包含一个字符串补丁类(具有一个新方法size(),与 相同length()),另一个应该使用所述方法size()。设置如下:
- patch
- bin (contains class files)
- src
- java
- lang
- String.java
- consumer
- src
- consumer
- Main.java
- module-info.java
主.java:
package consumer;
public class Main {
public static void main(String[] args) {
String s = new String("hello");
System.out.println(s.size());
}
}
编译后patch(从而进入String.class)patch/bin/java/lang/我知道我可以轻松使用:
java --patch-module java.base=patchpjt/bin/ consumer/src/consumer/Main.java
正确调用新添加的方法size(),得到结果5。
问题是在 Eclipse 中方法size仍然无法识别(错误是Method Size() is underfined for type String):
所以我的问题是:
如何配置 Eclipse 以使项目consumer
正确编译、运行并且不显示错误?
如何配置 Eclipse 以便在 Content Assist 上显示该方法size()
?
我知道我需要使用,Build Path -> Module Path -> Edit Is Modular -> Details Tab -> Patched module
但我不知道如何配置这两个项目。
一些您可能会觉得有用的信息:
Eclipse 2018-12 (4.10.0) 内部版本号:20181214-0600
感谢您的回复。
慕田峪9158850
相关分类