小编Pan*_*hul的帖子

格式化slf4j以使用颜色记录消息类型

我正在使用slf4j登录我的Java应用程序.它涉及大量的日志记录和日志监控.
当整个日志以黑色打印时,有时很难从日志中读取和查找信息.
只是为了使其更具可读性,是否可以以不同的颜色记录不同类型的消息?
例如,红色或不同字体大小的所有错误级别消息以及蓝色和不同字体大小的所有信息级别消息.

欢迎任何建议或帮助.日Thnx.

java logging slf4j

15
推荐指数
3
解决办法
2万
查看次数

如何在selenium远程webdriver中禁用Flash

使用Selenium Remote WebDriver时,如何禁用Flash对象的加载.如果我得到普通webdriver的解决方案也会有所帮助.

因为在大多数情况下,Flash对象是由JavaScript加载的,我试过禁用webdriver和远程webdriver上的javascript,但它不起作用.

我试图通过以下方式禁用JavaScript:

WebDriver driver = new FirefoxDriver();
((DesiredCapabilities) driver.getCapabilities()).setJavascriptEnabled(false);
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

DesiredCapabilities caps = new DesiredCapabilities();
caps.setJavascriptEnabled(false);
WebDriver driver = new FireFoxDriver(caps);
Run Code Online (Sandbox Code Playgroud)

对于Remote WebDriver,我试过:

final DesiredCapabilities firefoxCapability = DesiredCapabilities.firefox();
firefoxCapability.setJavascriptEnabled(false);
new RemoteWebDriver(new URL("http://" + windowsIP + ":4444/wd/hub"), firefoxCapability);
Run Code Online (Sandbox Code Playgroud)

执行上述语句后,将显示远程服务器

Executing: [new session: <platform=ANY, javascriptEnabled=false, browserName=firefox, version=>] at URL:/session>
Run Code Online (Sandbox Code Playgroud)

但仍然所有的Javascript都在驱动程序加载的页面上执行,Flash也在加载.

请帮帮我:1.如何阻止闪光灯加载.2.需要在远程驱动程序上使用它,因为我需要在IE,Firefox,Chrome上测试页面.因此加载forefox配置文件将无法正常工作

感谢您的帮助.

selenium selenium-rc selenium-webdriver

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

在gitlab ci中找不到yarn命令

我正在尝试配置我的gitlab-ci yarn install而不是使用npm install

我目前的gitlab-ci.yml看起来像:

image: node:6.9.4

cache:
  paths:
  - node_modules/
  - .yarn

before_script:
  - apt-get update -qq && apt-get install -qy libelf1

stages:
  - test

test_core:
  stage: test
  script:
  - yarn config set cache-folder .yarn
  - yarn install
  - npm run build
  - npm run test
  tags:
    - 2gb
Run Code Online (Sandbox Code Playgroud)

但是构建失败并出现错误: /bin/bash: line 48: yarn: command not found

有什么我想念的吗?我尝试安装纱线:

curl -o- -L https://yarnpkg.com/install.sh | bash

这给了我同样的错误,可能是因为我需要重新加载bash环境以使yarn命令可用.

以上配置完美搭配npm install.

请帮我解决这个问题.如果我的配置文件中缺少某些内容或gitlab-ci出现问题.谢谢.

node.js npm gitlab-ci gitlab-ci-runner yarnpkg

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

在java中为nashorn启用脚本模式

我必须使用nashorn从Java执行一些bash shell命令.

我有一个javascript文件:

#!/usr/bin/jjs

var testBashMethod = function(name){

    $EXEC("echo Hello from bash ${name}");
};

testBashMethod("foobar");
Run Code Online (Sandbox Code Playgroud)

我有java方法将上面的javascript方法加载到Nashorn引擎并执行它:

public void executeScript(){

    ScriptEngineManager engineManager = new ScriptEngineManager();
    ScriptEngine engine = engineManager.getEngineByName("nashorn");

    engine.eval(new FileReader("script.js"));

    Invocable invocable = (Invocable)engine;
    invocable.invokeFunction("testBashMethod");
}
Run Code Online (Sandbox Code Playgroud)

在执行上述方法时,我收到以下错误:

jdk.nashorn.internal.runtime.ECMAException: ReferenceError: "$EXEC" is not defined
Run Code Online (Sandbox Code Playgroud)

我的猜测是我需要在java中以脚本模式加载nashorn引擎.在终端上,我可以使用脚本模式运行引擎,然后成功执行以下操作:

jjs -scripting
jjs> $EXEC('echo Hello World..!!')
Run Code Online (Sandbox Code Playgroud)

我的问题:如何在脚本模式下加载Java中的nashorn引擎?以便bash脚本方法可用.或者还有其他我想念的东西.

感谢您的帮助.

javascript java bash java-8 nashorn

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

如何在intellij 13中搜索/导航/到java文件类型

如何在Intellij中导航或搜索特定文件类型?

例如,我需要搜索项目中的所有抽象类,或项目中的所有接口或项目中的所有Enum文件.

有没有像ctrl + N这样的快捷方式

感谢您的帮助

java intellij-idea

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

在循环Java 7中转换泛型类型

我有两种不同类型的需要迭代的集合,并且需要对集合中对象的一个​​值求和.我怎么能用泛型来做这个,即不为每种类型的Set写两个求和方法?

private Double calculateFooScoreSum(final Set<Foo> fooScoreSet)
{
    Double sum = 0.0;
    for (final Foo score : fooScoreSet)
    {
        sum += score.getScore();
    }
    return sum;
}

private Double calculateBarScoreSum(final Set<Bar> barScoreSet)
{
    Double sum = 0.0;
    for (final Bar score : barScoreSet)
    {
        sum += score.getScore();
    }
    return sum;
}
Run Code Online (Sandbox Code Playgroud)

如何使用Generics作为单个方法编写上述两种方法.就像是:

private static Double calculateScoreSum(Set<?> scoreSet)
{
    Double sum = 0.0;
    for(Object scoreObj : scoreSet){
        //Some casting magic 
        sum+=score.getScore();
    }
    return sum;
}
Run Code Online (Sandbox Code Playgroud)

如果它有帮助,getScore()方法存在于两个类FooBar.任何想法和建议都非常感谢.感谢名单

java generics java-7

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