小编Mic*_*les的帖子

如何让Mockito模拟按顺序执行不同的操作?

以下代码:

  ObjectMapper mapper = Mockito.mock(ObjectMapper.class);
  Mockito.doThrow(new IOException()).when(mapper).writeValue((OutputStream) Matchers.anyObject(), Matchers.anyObject());
  Mockito.doNothing().when(mapper).writeValue((OutputStream) Matchers.anyObject(), Matchers.anyObject());

  try {
      mapper.writeValue(new ByteArrayOutputStream(), new Object());
  } catch (Exception e) {
      System.out.println("EXCEPTION");
  }

  try {
      mapper.writeValue(new ByteArrayOutputStream(), new Object());
  } catch (Exception e) {
      System.out.println("EXCEPTION");
  }
Run Code Online (Sandbox Code Playgroud)

预期的产出是

例外

对?

但我一无所获

如果我在doNothing之后做了doThrow我得到了

例外情况
除外

所以它看起来像是最后一个被嘲笑的模拟......我认为它会按照他们注册的顺序进行模拟吗?

我想制作一个模拟第一次抛出异常,第二次正常完成...

java mockito

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

如何在Eclipse中使用"推断通用类型参数..."

每当eclipse中的源代码遗漏了泛型时,它就会建议我"推断通用类型参数......"

问题是我不认为"推断通用类型参数......"实际上已经推断出任何东西.它通常没有提出任何建议.

它适用于哪些场景?它是如何工作的?

有几种情况可以"推断"某些东西 - 日食仍然空白.

java eclipse generics

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

如何以编程方式创建Spring上下文?

有谁知道我是否可以通过编程方式创建bean上下文?

我希望能够做到这样的事情:

ConfigurableApplicationContext c = new ConfigurableApplicationContext();
BeanDefinition bd = new BeanDefinition();
bd.setId("id");
bd.setClassName("classname");
bd.setProperty("propertyName", propertyValue");
...etc...
Run Code Online (Sandbox Code Playgroud)

或者更好的是仍然能够将现成的bean注入应用程序上下文:

c.addBean("beanId", beanObject);
Run Code Online (Sandbox Code Playgroud)

或者,如果我正在使用注释:

c.setAnnotationAware(true);
c.setAnnotationScanBasePackage("packagename");
Run Code Online (Sandbox Code Playgroud)

要么

c.addAnnotatedSpringClass("classnamethatisannotated");
Run Code Online (Sandbox Code Playgroud)

这样做的理由是我希望能够覆盖bean定义以进行测试 - 在我的测试中,我创建了这个新的应用程序上下文,在测试中配置了代码(不是在xml中),然后使这个测试应用程序上下文具有as父级SUT应用程序上下文.

我没有在spring库中找到任何可以执行此操作的代码.有没有人建造这样的东西?是否有可能建立这样的东西?我知道前一种方法是可行的,我不能100%确定后一种方法可以无条件地工作.

spring unit-testing

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

Nexus P2代理支持中P2和P2更新站点之间的差异

所以我安装了nexus p2插件.

在P2存储库上创建代理时,它为我提供了两个选项.P2和P2更新站点.

两者之间的区别是什么?我应该何时使用另一个?

java p2 nexus

6
推荐指数
0
解决办法
425
查看次数

maven tomcat部署插件,以便不进行重建

我使用jenkins来构建我的gwt应用程序,现在我想运行一个tomcat:在该已构建的项目上进行部署,以便它可以将构建的war部署到tomcat.

问题是,即使包刚刚完成,它仍然坚持事先做一个包.

这导致gwt重新编译 - 这需要长时间.

有没有办法可以使用maven调用部署到tomcat,只需部署已经存在的战争?

tomcat maven maven-tomcat-plugin

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

Java - 如果之后定义了actionPerformed,则JButton文本将消失

这一直困扰着我.如果我定义之前setText在JButton上定义,文本将消失:setAction

JButton test = new JButton();
test.setText("test");  // Before - disappears!
test.setAction(new AbstractAction() {
    public void actionPerformed(ActionEvent e) {
        // do something
    }
});
this.add(test);
Run Code Online (Sandbox Code Playgroud)

如果它之后,没有问题.

JButton test = new JButton();
test.setAction(new AbstractAction() {
    public void actionPerformed(ActionEvent e) {
        // do something
    }
});
test.setText("test");  // After - no problem!
this.add(test);
Run Code Online (Sandbox Code Playgroud)

此外,如果我在JButton构造函数中设置文本,那很好!Yarghh!

为什么会这样?

java swing text action jbutton

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

将生成的构建文件添加到classpath

在构建期间,我通过包含构建信息的maven属性插件(properties-maven-plugin)生成build.properties文件.

将此文件包含在生成的jar中的最佳方法是什么?我不想把它放到src/main/resources目录中,因为这会污染我的默认资源目录.

是否没有"生成资源"目录,因为有源?

java maven-2

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

如何在使用带jersey的jaxb注释时配置json格式

我使用jersey来公开一个使用jaxb注释类来配置json外观的服务.

我试图在每个json元素中包含type指令.我通过提供提供商这样做:

import org.codehaus.jackson.JsonParser.Feature;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.ObjectMapper.DefaultTyping;

@Provider
    @Produces(MediaType.APPLICATION_JSON)
    public class CmsContextResolver implements ContextResolver<ObjectMapper> {

        ObjectMapper mapper;

        public CmsContextResolver() {
            mapper = new ObjectMapper();
            // @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include =
            // JsonTypeInfo.As.WRAPPER_OBJECT, property = "@type")
            mapper.configure(Feature.INTERN_FIELD_NAMES, true);
            mapper.enableDefaultTypingAsProperty(DefaultTyping.NON_FINAL, "@type"); 
        }

        @Override
        public ObjectMapper getContext(Class<?> arg0) {
            return mapper;
        }
    }
Run Code Online (Sandbox Code Playgroud)

这个提供商肯定会被接受.

10 May 2011 3:53:18 PM com.sun.jersey.api.core.ScanningResourceConfig logClasses
INFO: Provider classes found:
  class com.afrozaar.cms.service.CmsContextResolver
Run Code Online (Sandbox Code Playgroud)

但它没有任何区别.json的格式不受影响.

据我所知,问题源于球衣不使用杰克逊序列化的事实?或者那个球衣忽略了我的杰克逊配置覆盖......

jaxb jersey jackson

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

在Spring 3.1.0中使用Spring Data JPA

有谁知道如何使用Spring Data JPA并使用Spring 3.1.0/3.1.1?

Spring Data JPA 1.0.3依赖于spring 3.0.5,所以当我添加一个spring数据jpa作为依赖时,我就会遇到冲突,因为我使用的是3.1.0.

我尝试过使用maven排除但没有取得多大成功.

java spring maven spring-data-jpa

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

我可以将 eb 扩展容器命令放在多行上吗?如果可以的话,该怎么做?

我发现的所有内容是: https: //forums.aws.amazon.com/thread.jspa ?threadID=112988

我知道我可以这样做:

container_commands:
   07_run_command:
      "mkdir -p /var/cache/tomcat8/temp/.m2/repository && chmod 777"
Run Code Online (Sandbox Code Playgroud)

但我可以这样做吗?

container_commands:
   07_run_command:
      mkdir -p /var/cache/tomcat8/temp/.m2/repository && 
      chmod 777
Run Code Online (Sandbox Code Playgroud)

我是否仍然需要 && 来分隔命令,还是将它们作为单独的命令执行?或者仍然只有一个命令?

amazon-web-services amazon-elastic-beanstalk ebextensions

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