小编jew*_*ube的帖子

获得军事时区的缩写

我有一个org.joda.time.DateTime对象,我需要检索军事时区缩写(例如T代表UTC-07:00,U代表UTC-08:00,Z代表UTC±00:00).

http://en.wikipedia.org/wiki/List_of_military_time_zones

这是我目前正在做的事情:

int offset = dt.getZone().toTimeZone().getRawOffset() / (60 * 60 * 1000);
String timeZoneCode = timeZoneCodeMap.get(offset);
Run Code Online (Sandbox Code Playgroud)

where timeZoneCodeMap是使用HashMap<Integer, String>如下条目初始化的

timeZoneCodeMap.put(1, "A");
timeZoneCodeMap.put(2, "B");
timeZoneCodeMap.put(3, "C");
...
timeZoneCodeMap.put(-10, "W");
timeZoneCodeMap.put(-11, "X");
timeZoneCodeMap.put(-12, "Y");      
timeZoneCodeMap.put(0, "Z");
Run Code Online (Sandbox Code Playgroud)

是否存在已包含时区到军事缩写的映射的函数或库(在Joda或其他方面)?

如果有更好的方法来计算偏移量,请随时告诉我.

java timezone abbreviation jodatime

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

org.sonar.api.utils.SonarException:无法在org.sonar.api.resources.File上添加两次相同的度量

我有一个Jenkins Job,它在一个由几个模块组成的Maven项目上运行SonarRunner.配置SonarRunner导入Cobertura覆盖率报告时,构建失败.

SonarQube Runner 2.4
Java 1.7.0_55 Oracle Corporation (64-bit)
Windows 7 6.1 amd64
INFO: Error stacktraces are turned on.
INFO: Runner configuration file: C:\Jenkins\tools\hudson.plugins.sonar.SonarRunnerInstallation\Sonar_Runner\conf\sonar-runner.properties
INFO: Project configuration file: NONE
INFO: Default locale: "en_US", source code encoding: "windows-1252" (analysis is platform dependent)
INFO: Work directory: C:\Jenkins\workspace\Sprint3\Application\.sonar
INFO: SonarQube Server 4.3
11:07:44.407 INFO  - Load batch settings
11:07:44.609 INFO  - User cache: C:\.sonar\cache
11:07:44.625 INFO  - Install plugins
11:07:44.765 INFO  - Install JDBC driver
11:07:44.781 WARN  - H2 database should be …
Run Code Online (Sandbox Code Playgroud)

java cobertura jenkins jacoco sonarqube

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

模拟在单元测试期间尝试了方法调用,但实际上并未调用它

我正在编写一个JUnit测试并使用Mockito,我想调用一个方法,该方法又多次调用第二个方法.我不希望在单元测试期间调用第二种方法,但我想知道它的参数是什么.我要测试的代码看起来像这样:

public class MyClass {
    public void myMethod() {
        int a = [do some logic]
        int b = [do some logic];
        doSomething(a, b);

        a = [do some logic];
        b = [do some logic];
        doSomething(a, b);
    }

    public void doSomething(int a, int b) {
        // code that I do not want to be executed during a unit test
    }
}
Run Code Online (Sandbox Code Playgroud)

现在进行单元测试:

@Test
public void test() {
    MyClass myClass = new MyClass();
    myClass.myMethod();
    verify(myClass).doSomething(17, 33);
    verify(myClass).doSomething(9, 18);
}
Run Code Online (Sandbox Code Playgroud)

我是Mockito的新手,我不知道A)是否可以阻止执行doSomething()和B)验证a&b参数的值.我愿意接受像"Mockito在这里不能帮助你"或"这不是技术上可行的东西"这样的答案.如果没有办法模仿这种事情,我可以考虑将那些[做一些逻辑]块重构为我可以直接测试的方法但是我的代码比这个简单的例子更复杂,我不允许在线发布代码.

java methods junit mocking call

4
推荐指数
2
解决办法
1599
查看次数

使用Arguments配置maven配置文件

无论如何我可以在maven配置文件中传递参数.就像我想在特定端口上运行服务器,如果另外指定默认配置文件.就像当我运行mvn clean install -Pdeploy 4322时,应该将包部署到端口4322上运行的服务器,否则为4052.

我在等待任何建议或建议.

maven-2 maven-3 maven maven-profiles aem

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