我想使用 Eclipse Juno 中的新 @NonNull 注释,但我正在开发的项目基于 Maven,并使用 Jenkins 进行部署。
有什么方法可以让我的注释不会破坏其他不使用 Eclipse 和 Jenkins 的开发人员的代码吗?
PS:方法参数的空检查甚至不适用于 Eclipse 和 Maven 插件(Maven 插件编译没有问题,但当使用空参数调用方法时,即使使用 @NonNull 注释,也不会抛出错误)。
PS:看到我的线程已经有几个月了,有什么更好的方法可以使用 Maven 获取 NonNull 注释吗?
遵循libgdx教程之后,我创建了一个Gradle项目,该项目可以在台式PC上正常运行,但无法在笔记本电脑上启动Java。
我的两台机器都在带有GNOME Shell 3.18.3和Java 1.8.0_66 OpenJDK的Arch Linux 4.3.3-2上使用Gradle 2.10。
这是我在笔记本电脑上遇到的错误:
$ gradle desktop:run
Configuration on demand is an incubating feature.
:core:compileJava UP-TO-DATE
:core:processResources UP-TO-DATE
:core:classes UP-TO-DATE
:core:jar UP-TO-DATE
:desktop:compileJava UP-TO-DATE
:desktop:processResources UP-TO-DATE
:desktop:classes UP-TO-DATE
:desktop:run FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':desktop:run'.
> A problem occurred starting process 'command '/usr/lib/jvm/java-8-openjdk/bin/java''
Run Code Online (Sandbox Code Playgroud)
该文件/usr/lib/jvm/java-8-openjdk/bin/java
存在,具有所有用户的所有必需权限,并且可以手动执行而不会出现问题。
我大量使用Eclipse组织导入功能,但对我来说一个主要的烦恼是它倾向于从与JRE中的类同名的依赖项中添加一些令人难以置信的小众类型.
例如,当我声明Map map;
并运行"组织导入"时,Eclipse可能会添加import net.some.dependency.of.my.dependency.i.never.use.Map
而不是,import java.util.Map
然后宝贵的时间会丢失,因为我发现为什么map.entrySet()
不再起作用.
是否有某种方式对进口实施优先权制度?例如:
我使用Eclipse Neon 4.6.0M7.
PS:我的依赖关系是用Maven 3.3.9管理的,以防万一.
我们有一个BeanItemContainer,我们显示为一个非常好的Vaadin表.唯一的问题是其中一个bean属性是一个URL,我们希望它是一个链接.
将"a href = ..."添加到setURL()中的url - 函数可以正常工作
向表中添加单击侦听器也可以
有没有办法控制过程Vaadin将bean属性值转换为表格单元格?
我发现"gtk-auto-mnemonic = 0"
应该重新打开带下划线的键盘快捷键,但是每个主题文件的结尾都"gtk-auto-mnemonic = 0"
没有"gtk-auto-mnemonic = 1"
任何区别.
这个建议只适用于Gnome 2吗?
如何使快捷键始终可见,而不仅仅是在按ALT时?
我做到了
locate gtkrc | grep themes | xargs -I @ echo "echo \"gtk-auto-mnemonics = 0\" >> @" | sudo sh
Run Code Online (Sandbox Code Playgroud)
并验证(两者都是零和一,因为我尝试了两者):
~$ locate gtkrc | grep themes | xargs grep auto
/usr/share/gimp/2.0/themes/Default/gtkrc:gtk-auto-mnemonics = 1
/usr/share/gimp/2.0/themes/Small/gtkrc:gtk-auto-mnemonics = 1
/usr/share/themes/Adwaita/gtk-2.0/gtkrc:gtk-auto-mnemonics = 1
/usr/share/themes/Adwaita/gtk-2.0/gtkrc:gtk-auto-mnemonics = 1
/usr/share/themes/Clearlooks/gtk-2.0/gtkrc:gtk-auto-mnemonics = 1
/usr/share/themes/Crux/gtk-2.0/gtkrc:gtk-auto-mnemonics = 1
/usr/share/themes/Default/gtk-2.0-key/gtkrc:gtk-auto-mnemonics = 1
/usr/share/themes/Emacs/gtk-2.0-key/gtkrc:gtk-auto-mnemonics = 1
/usr/share/themes/HighContrast/gtk-2.0/gtkrc:gtk-auto-mnemonics = 1
/usr/share/themes/HighContrastInverse/gtk-2.0/gtkrc:gtk-auto-mnemonics = 1
/usr/share/themes/Industrial/gtk-2.0/gtkrc:gtk-auto-mnemonics = 1 …
Run Code Online (Sandbox Code Playgroud) 我的配置文件中有大量任意键值对,我想使用 toml 板条箱对其进行解析。然而,标准方法似乎是使用适合配置文件的给定结构。如何将键值对加载到映射或对迭代器等数据结构中,而不必预先使用结构体指定结构?
我有一个Java Maven项目,其依赖包括slf4j
和它log4j adapter
.我管理的版本log4j
,slf4j-log4j12
并slf4j-api
根据其最新版本http://mvnrepository.com,尤其是log4j
的1.2.17版本已经超过1.2.12,但我仍然得到错误
SLF4J: This version of SLF4J requires log4j version 1.2.12 or later.
See also http://www.slf4j.org/codes.html#log4j_version
Run Code Online (Sandbox Code Playgroud)
这对我来说完全不清楚.
我的Maven依赖管理如下所示:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>apache-jena-libs</artifactId>
<type>pom</type>
<version>2.10.0</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
</dependencies>
</dependencyManagement>
Run Code Online (Sandbox Code Playgroud)
我该如何摆脱警告?
PS:我也得到了java.lang.NoSuchMethodError: org.apache.log4j.Logger.isTraceEnabled()
.
PPS:由于你的评论,我记得该程序有一个"lib"文件夹,它不是由Maven包含在类路径中,而是由Eclipse本身包含,所以冲突的依赖关系必须在那里.对不起,我完全忘记了我认为将Maven与lib文件夹混合是我的错.我想我必须尝试将尽可能多的库转换为maven依赖项.奇怪的是,即使我编辑"订单和导出"以将Maven依赖项置于顶部,问题仍然存在.
我想在更改下拉菜单时提交表单并希望防止页面重新加载。
<script src="jquery-1.9.1.min.js"></script>
$(document).ready( function(){
$('#adv_search').submit( function(e){
alert('form submitted');
e.preventDefault();
});
});
Run Code Online (Sandbox Code Playgroud)
<form id="adv_search" name="adv_search" method="post">
<select name="state" id="state" onchange="document.adv_search.submit()">
------
</select>
</form>
Run Code Online (Sandbox Code Playgroud)
我不喜欢让我的属性文件进入resources/mypackage/.../somepackage/resourcefile.properties
,而宁愿让它们进入resources/resourcefile.properties
.在没有的情况下,这是否可行:
MyApplication.class.getResourceAsStream("../../../../../../../../resources/resourcefile.properties")
或SomeClass.getClassLoader().getResourceAsStream("resourcefile.properties")
?IDEA建议进行比较(object.method() == CONSTANT)
,(CONSTANT == object.method())
但没有理由.第二种方式真的更好吗?如果是,为什么?
我知道,为了事项短路运营商&&
和||
,但对于其他二元运算符,函数有反正进行评估.我在这里错过了什么?
我使用IntelliJ IDEA 2016 1.3.
在新安装的 Gnome 上,mvn javafx:run
由于此错误,我的 JavaFX 应用程序无法启动:
错误:JavaFX 未检测到字体:请参阅发行说明以了解正确的字体配置
但是我在发行说明中没有找到这样的指南。
我怎样才能让 JavaFX 工作?
jdk-openjdk 12.0.2.u10-10
GNOME 外壳 3.32.2
Maven 3.6.1
字体配置 2:2.13.1+12+g5f5ec56-1
maven-compiler-plugin 3.8.0 版本设置为 12
org.openjfx.{controls,web,fxml} 12.0.1
javafx-maven-插件 0.0.3
我想在页面加载后立即在 JavaScript 中预加载搜索索引,这样用户就不必等待它被构建。我知道 JavaScript 是单线程的,通常不需要锁,但我不确定以下代码是否足够:
class Index
{
constructor()
{
this.index = null;
}
async init()
{
this.index = await queryDatabase();
}
async search(input)
{
if(!this.index) {await this.init();}
return this.index.query(input);
}
}
Index index = new index();
index.init(); // preload
myButton.addEventListener("click",console.log(index.search()));
Run Code Online (Sandbox Code Playgroud)
是否会发生用户在 init() 完成之前单击 myButton 并且 init 被调用两次的情况?如果没有,我怎样才能以最好的方式防止这种情况发生?