以下代码:
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我得到了
例外情况
除外
所以它看起来像是最后一个被嘲笑的模拟......我认为它会按照他们注册的顺序进行模拟吗?
我想制作一个模拟第一次抛出异常,第二次正常完成...
每当eclipse中的源代码遗漏了泛型时,它就会建议我"推断通用类型参数......"
问题是我不认为"推断通用类型参数......"实际上已经推断出任何东西.它通常没有提出任何建议.
它适用于哪些场景?它是如何工作的?
有几种情况可以"推断"某些东西 - 日食仍然空白.
有谁知道我是否可以通过编程方式创建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%确定后一种方法可以无条件地工作.
所以我安装了nexus p2插件.
在P2存储库上创建代理时,它为我提供了两个选项.P2和P2更新站点.
两者之间的区别是什么?我应该何时使用另一个?
我使用jenkins来构建我的gwt应用程序,现在我想运行一个tomcat:在该已构建的项目上进行部署,以便它可以将构建的war部署到tomcat.
问题是,即使包刚刚完成,它仍然坚持事先做一个包.
这导致gwt重新编译 - 这需要很长时间.
有没有办法可以使用maven调用部署到tomcat,只需部署已经存在的战争?
这一直困扰着我.如果我在定义之前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!
为什么会这样?
在构建期间,我通过包含构建信息的maven属性插件(properties-maven-plugin)生成build.properties文件.
将此文件包含在生成的jar中的最佳方法是什么?我不想把它放到src/main/resources目录中,因为这会污染我的默认资源目录.
是否没有"生成资源"目录,因为有源?
我使用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的格式不受影响.
据我所知,问题源于球衣不使用杰克逊序列化的事实?或者那个球衣忽略了我的杰克逊配置覆盖......
有谁知道如何使用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排除但没有取得多大成功.
我发现的所有内容是: 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)
我是否仍然需要 && 来分隔命令,还是将它们作为单独的命令执行?或者仍然只有一个命令?