小编Kon*_*ner的帖子

使用 Maven 和 Jenkins 的 Eclipse @NonNull 注释

我想使用 Eclipse Juno 中的新 @NonNull 注释,但我正在开发的项目基于 Maven,并使用 Jenkins 进行部署。

有什么方法可以让我的注释不会破坏其他不使用 Eclipse 和 Jenkins 的开发人员的代码吗?

PS:方法参数的空检查甚至不适用于 Eclipse 和 Maven 插件(Maven 插件编译没有问题,但当使用空参数调用方法时,即使使用 @NonNull 注释,也不会抛出错误)。

PS:看到我的线程已经有几个月了,有什么更好的方法可以使用 Maven 获取 NonNull 注释吗?

java eclipse maven notnull jenkins

5
推荐指数
1
解决办法
1659
查看次数

Gradle无法启动Java

遵循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存在,具有所有用户的所有必需权限,并且可以手动执行而不会出现问题。

java gradle

5
推荐指数
0
解决办法
521
查看次数

Eclipse组织导入:如何更喜欢JRE类?

我大量使用Eclipse组织导入功能,但对我来说一个主要的烦恼是它倾向于从与JRE中的类同名的依赖项中添加一些令人难以置信的小众类型.

例如,当我声明Map map;并运行"组织导入"时,Eclipse可能会添加import net.some.dependency.of.my.dependency.i.never.use.Map而不是,import java.util.Map然后宝贵的时间会丢失,因为我发现为什么map.entrySet()不再起作用.

是否有某种方式对进口实施优先权制度?例如:

  1. JRE课程
  2. 我自己的课
  3. 我的依赖
  4. 我的依赖关系的依赖关系(依此类推5.,6 ..,...)

我使用Eclipse Neon 4.6.0M7.

PS:我的依赖关系是用Maven 3.3.9管理的,以防万一.

java eclipse

5
推荐指数
1
解决办法
128
查看次数

将Vaadin bean属性自定义为表格单元格转换

我们有一个BeanItemContainer,我们显示为一个非常好的Vaadin表.唯一的问题是其中一个bean属性是一个URL,我们希望它是一个链接.

将"a href = ..."添加到setURL()中的url - 函数可以正常工作

  1. 它不会让我觉得非常优雅的代码
  2. 其他调用者现在必须在使用get方法后从中删除标记.

向表中添加单击侦听器也可以

  1. 它可能会打开一个窗口而不是一个标签
  2. 可以通过弹出窗口阻止程序来阻止它

有没有办法控制过程Vaadin将bean属性值转换为表格单元格?

javabeans vaadin

4
推荐指数
1
解决办法
2297
查看次数

Gnome 3总是显示ALT + x键盘快捷键

我发现"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)

shortcuts gnome underline

4
推荐指数
1
解决办法
1630
查看次数

如何解析 Rust 中结构未知的 TOML?

我的配置文件中有大量任意键值对,我想使用 toml 板条箱对其进行解析。然而,标准方法似乎是使用适合配置文件的给定结构。如何将键值对加载到映射或对迭代器等数据结构中,而不必预先使用结构体指定结构?

rust toml

4
推荐指数
1
解决办法
4995
查看次数

"此版本的SLF4J需要log4j版本1.2.12"警告与log4j 1.2.17

我有一个Java Maven项目,其依赖包括slf4j和它log4j adapter.我管理的版本log4j,slf4j-log4j12slf4j-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依赖项置于顶部,问题仍然存在.

java eclipse log4j slf4j maven

2
推荐指数
1
解决办法
7611
查看次数

提交事件未触发

我想在更改下拉菜单时提交表单并希望防止页面重新加载。

<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)

javascript php jquery

2
推荐指数
1
解决办法
1420
查看次数

在Java中访问基础包中的资源?

我不喜欢让我的属性文件进入resources/mypackage/.../somepackage/resourcefile.properties,而宁愿让它们进入resources/resourcefile.properties.在没有的情况下,这是否可行:

  1. 被迫写MyApplication.class.getResourceAsStream("../../../../../../../../resources/resourcefile.properties")
  2. 使用时它在Tomcat中不起作用SomeClass.getClassLoader().getResourceAsStream("resourcefile.properties")

java resources properties

1
推荐指数
1
解决办法
208
查看次数

为什么IntelliJ IDEA在比较中首先选择常量?

IDEA建议进行比较(object.method() == CONSTANT),(CONSTANT == object.method())但没有理由.第二种方式真的更好吗?如果是,为什么?

我知道,为了事项短路运营商&&||,但对于其他二元运算符,函数有反正进行评估.我在这里错过了什么?

我使用IntelliJ IDEA 2016 1.3.

intellij-idea

1
推荐指数
1
解决办法
141
查看次数

JavaFX 在 Gnome 上找不到字体

在新安装的 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 依赖项

maven-compiler-plugin 3.8.0 版本设置为 12

org.openjfx.{controls,web,fxml} 12.0.1

javafx-maven-插件 0.0.3

java gnome javafx archlinux

1
推荐指数
1
解决办法
1036
查看次数

如何防止在 JavaScript 中并行执行异步 init 方法?

我想在页面加载后立即在 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 被调用两次的情况?如果没有,我怎样才能以最好的方式防止这种情况发生?

javascript async-await

0
推荐指数
1
解决办法
151
查看次数