我想在 Eclipse 中的 Java 9 模块化项目上使用 JUnit 5 运行测试,没有 Maven、Gradle 或所有那些花哨的东西。所以我有src/main/java
module-info.java 和模块包所在的路径,以及src/test/java
所有测试类所在的路径。在 Jigsaw 模块系统之前,一切照旧。我有 Eclipse Oxygen.3a (4.7.3a) 和 Java 10.0.1。
我看过一些来自 Eclipse 的视频,展示了如何将 JUnit 测试添加到模块化项目中,但这让我required
大吃一惊:他们将关键字放入模块的 module-info.java 中,将其绑定到 JUnit 模块。这实际上是正确的吗?
我也看到了所有这些--patch-module
/--add-reads
解决方案(当我们谈论在控制台中工作时),这似乎是正确的方法,但我不知道如何在 Eclipse 中实现而不绑定被测模块到 JUnit 模块。这甚至可能在 Eclipse 中(没有 Maven 等)吗?
长期以来,在Eclipse中切换工作空间并丢失(当然不是永久地)精心设计的设置(例如颜色,样式等)很烦人。从头开始重新创建这些设置也很烦人(因此创建一个新的工作区非常麻烦。越少越好)。我很高兴看到有人决定为此做点什么,所以我们获得了Oomph。但是我使用的时间越长,我认为解决方案实际上比原始问题更糟糕。首先,它只是无法按预期工作。因此,我对自己说:“好吧,花点时间,耐心等待,也许您只是不知道如何正确使用它”(也许我还是不知道)。但是几年之后,由于这种Oomph的问题,我最终安装了数十种不同版本的Eclipse。而现在(氧气
但是我为什么要这样做?因为我失去了对设置的控制!它一时兴起地更改了语法颜色,不确定地忽略了这些设置的一部分(Java编辑器语法颜色)和其他设置。哦,我尝试禁用录制或启动任务,但无济于事。我不能只选择这些颜色吗?实际上,我保证,我不会抱怨要在每个工作区中从头开始设置这些东西,但是请让我告诉我如何摆脱Oomph功能。请。
我猜应该为Eclipse的“样式”设置单独的设置,并且应该在Eclipse版本和实例(例如,通过~/.config/eclipse/
或通过什么方式)和“环境”设置之间共享这些设置,这些设置在构建/运行与工作空间紧密相关的代码时必须严格遵守。我相信维护这些东西会更简单。但是在这一点上,我只是想知道,如何禁用Oomph才能返回众所周知的古老地狱。那有可能吗?
假设我们有这样的 Bash 4 脚本:
1: arr='my_array';
2: declare -A "${arr}";
3: my_array[foo]='This is foo';
4: arrfoo="${arr}[foo]";
5: echo "${!arr}";
Run Code Online (Sandbox Code Playgroud)
输出是:
This is foo
Run Code Online (Sandbox Code Playgroud)
但请注意,数组my_array
是动态声明的(第 2 行),我已foo
使用它的直接名称(第 3 行)分配了值(在 index 下)。
我找不到通过动态名称为关联数组赋值的语法(我的意思是${arr}
在这种情况下通过变量)。这是可能的,因为您可以动态声明数组?构造如下:
declare -A "${arr}"=(
[foo]='This is foo'
);
Run Code Online (Sandbox Code Playgroud)
只是不工作。
我现在的Eclipse是Oxygen.2 Release(4.7.2),还有Java 9.0.1.基本上Java 9工作,特别是自动导入工作(对于"普通"类和包),但自动导入(和自动完成)不起作用javafx.*
.如果我手动输入import java
并按Ctrl+ Space,则弹出匹配包列表,我可以看到javafx.*
层次结构.但是当我输入eg import javafx.stage
并按Ctrl+时Space它会自动添加.*;
并且不会显示包中的任何类.当我Stage
在方法体中的某处键入并按Ctrl+时Space,没有任何建议.但是,当我键入添加导入(如import javafx.stage.Stage
)时,代码编译并运行.
任何线索如何修复自动完成和自动导入功能(正如我所说,适用于其他类,例如java.time.LocalDateTime
或许多其他类).