草庐IT

all_fields

全部标签

java - SonarQube 误报鱿鱼 :S1450 for @Getter (lombok) annotated fields

我想我在使用@Getter时发现了误报来自ProjectLombok的注释.在下面的示例类中,我收到警告“仅用作方法中的局部变量的私有(private)字段应成为局部变量”(squid:S1450)。publicclassExample{@GetterprivateStringexampleField;//有人可以证实吗?是SonarQube规则中的错误还是我的类(class)或我对该规则或@Getter注释的理解有问题?为了完整起见:项目lombok注释或生成的方法在其他SonarQube规则中被正确识别。所以我认为我的设置很好。我还尝试将@Getter注释放在类级别,但我收到了同样

java - hibernate 映射 : ignore a super class field

我有一个A类和B类publicclassA{intf1;intf2;intf2;}publicclassBextendsA{}我的问题是如何忽略映射到B的表中的字段,例如“f2”? 最佳答案 假设我对您的帖子所做的编辑获得批准,我将尝试回答。在下面的代码中,我忽略了类A中的字段f2,即使用AttributeOverride的B的父类(superclass)。@Entity@AttributeOverride(name="f2",column=@Column(name="f2_col",insertable=false,updatab

java - mvn 依赖 :tree doesn't really show all dependencies

这个问题在这里已经有了答案:Displayomittedversionsinmavendependency:tree?(3个答案)关闭6年前。我在编译一个有很多依赖项的jar时遇到了一个问题,特别是snakeyaml的重叠版本(我们需要1.11,一些依赖项引入了1.9)。我们运行了mvndependency:tree但我们没有在任何输出中看到有问题的次要版本。经进一步检查,是jruby-complete,然后引入snakeyaml。为什么mvndependency:tree没有向我们展示这种级别的向下钻取:[INFO]||+-org.apache.hbase:hbase-it:jar:

Java8 : how to copy values of selected fields from one object to other using lambda expression

我正在尝试了解java8的新功能:forEach和lambda表达式。尝试重写这个函数:publicTcopyValues(Classtype,Tsource,Tresult)throwsIllegalAccessException{for(Fieldfield:getListOfFields(type)){field.set(result,field.get(source));}returnresult;}使用lambda。我觉得应该是这样的但是做不对:()->{returngetListOfFields(type).forEach((Fieldfield)->{field.set(

java - 什么是 java.io.IOException : invalid header field?

当我尝试运行以下命令时:jarcvfmmyjar.jarmanifest.txt*.class我得到以下异常:java.io.IOException:invalidheaderfieldatjava.util.jar.Attributes.read(Attributes.java:410)atjava.util.jar.Manifest.read(Manifest.java:199)atjava.util.jar.Manifest.(Manifest.java:69)atsun.tools.jar.Main.run(Main.java:171)atsun.tools.jar.Main.

java - 为什么@Mock 没有 "field is never assigned"警告

如果您在测试类中声明私有(private)字段:privateFoofoo;它被使用但从未分配,当我将鼠标悬停在声明上时,IntelliJIDEA(可能还有其他IDE)会显示警告,并将其呈现为灰色从未分配私有(private)字段“foo”但是如果我使用Mockito并像这样注释字段:@MockprivateFoofoo;警告消失并以紫色呈现该字段以指示它已分配。IDE如何知道@Mock意味着什么?我查看了Mockito源代码,注释定义上似乎没有任何内容,而且我的IDE没有Mockito插件。我正在编写一个类似于Mockito的库,带有等效的注释,我很想知道如何让IDE删除警告。(我不

JDK9或者以上版本出现Unable to make field private final byte[] java.lang.String.value accessible异常

1.原因        这个问题是由于Java9中的模块化导致的。为了提高Java的安全性,Java9引入了模块系统,该系统可以控制不同模块之间的访问权限。模块系统将Java分成了若干个可以独立部署和运行的模块,使得Java应用可以更快地启动并更好地利用硬件资源。2.解决方案①编辑配置②编辑VMoptions(如果没有使用快捷键alt+v)③配置内容--add-opensjava.base/java.lang=ALL-UNNAMED--add-opensjava.base/java.lang.reflect=ALL-UNNAMED--add-opensjava.base/java.lang.i

java - java线程间通信: stopping all threads when one finishes its task

我有n个线程并行运行,每个线程都执行一些自定义逻辑。但是,我的要求是,当任何一个线程完成执行时,所有其他线程都应该停止执行并返回。实现它的最佳方法是什么?我想通过共享boolean变量来做到这一点。当任何线程完成执行时,它将设置boolean值。所有线程都定期读取此变量并在设置时退出。此外,我的自定义逻辑是一个无限循环,一旦我知道某个其他线程已完成执行,我想在当前迭代后停止执行。这样做的正确方法是什么? 最佳答案 使用ExecutorService及其.invokeAny()方法(注:也有超时的版本)。来自Javadoc:Execu

java - 如何在 SWT 表头中放置一个 "(de)select all"复选框?

我有一个SWT表,我正在用SWT.CHECK样式实例化它,以便在每一行旁边显示一个复选框。我的用户要求在表的标题行中添加另一个复选框,以便他们可以通过单击选择/取消选择所有行。我看不到任何明显的方法,而且我只是通过Google找到了Swing/JTable示例。有谁知道如何做到这一点?我希望无需重新实现Table或退回到标题上下文菜单即可实现。 最佳答案 只需创建两个复选框图像。第一个没有勾号,第二个有勾号。现在将第一个图像添加到tableColumn标题。之后将监听器添加到tableColumn,这样当您第一次单击按钮时,应该触发

java - Java的field.setAccessible(true)在什么情况下会失效?

我有这样一种情况,用户的代码在反射访问的字段上抛出IllegalAccessException。在访问该字段之前,将调用setAccessible(true)。所以,在我看来,这种方法正在默默地失败。在什么情况下会发生这种情况?这可能与安全经理有关吗?这是导致异常的代码片段:privatestaticFieldlevelField;publicintgetLevel(){try{if(levelField==null){levelField=MessageInfo.class.getDeclaredField("level");levelField.setAccessible(true