最近,Apache Maven似乎有缓存问题.使用Windows Vista或Windows 7在我们的项目上执行全新安装有时会生成与先前版本具有相同数据的工件,即使新工件的文件应该已更新.
有没有办法清除此缓存以强制maven始终触发应该构建的本地工件的干净构建?
特别是,我们在使用war插件构建webapp时遇到了问题.Maven版本是3.0.3.战争插件版本是2.1.1.
如果我希望简单地使用SQL在SQL数据库中重命名列(不改变其类型或约束,只是其名称),我该怎么做?还是不可能?
这适用于任何声称支持SQL的数据库,我只是在寻找一个特定于SQL的查询,无论实际的数据库实现如何都可以使用.
我刚开始在我自己的项目中使用Java的枚举(我必须在工作中使用JDK 1.4)而且我对使用JavaDoc作为枚举的最佳实践感到困惑.
我发现这个方法有效,但结果代码有点未定义:
/**
* Doc for enum
*/
public enum Something {
/**
* First thing
*/
FIRST_THING,
/**
* Second thing
*/
SECOND_THING;
//could continue with more
}
Run Code Online (Sandbox Code Playgroud)
有没有什么方法可以在不用逗号链接它们的情况下拆分枚举声明,或者这是使用JavaDoc作为枚举的最佳方法?
所以,我遇到了LDAP问题.我有一个集成测试用例,希望可以解决,但它目前遇到SSL握手的LDAPS安全问题.
我能够使用Apache Directory Studio连接到LDAPS,并且已将密钥库下载到文件"permanent.jks"中.
没关系,但我希望我的集成测试(使用JRE驻留在Eclipse中)能够使用此密钥库连接到LDAP服务器.
如何将此密钥库导入JRE以供自己使用?
我在日常工作中使用Eclipse 3.3,并且也广泛使用了Eclipse 3.2.在这两个版本中,有时菜单中的搜索选项(Java搜索,文件搜索等)被禁用,看似随机时间.但是,使用Ctrl+ H,我可以访问搜索功能.有谁知道为什么会这样?它是否已在Eclipse 3.4中修复?
一位开发人员不喜欢Eclipse悬停Javadoc并且想要禁用它(一个选项),或者更好的是,只选择性地启用它(其他选项).他正在使用Eclipse 3.3.这可能吗?
我最近通过随机ad-hoc测试在我的代码中发现了一个不寻常的错误.所以,我为它做了一个测试用例.
这是我的测试用例:
SampleRequest request = new SampleRequest();
request.setA(null);
request.setB(null);
assertEquals(null, request.getAOrB());
Run Code Online (Sandbox Code Playgroud)
A和B被定义为java.lang.Integer类型,并具有直接的setter方法来将它们的值设置到请求中.
还涉及一个枚举.它有一个原始整数值,以及在此代码中使用的方法.我会在这里发布相关部分:
enum Swapper {
public int c;
Swapper findSwapperToUse(final int a) {
for(Swapper swapper : values()) {
if(swapper.c == a) {
return swapper;
}
}
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,这是令人困惑的方法.在该方法上调用测试方法会导致NPE,但是在方法的最后一行.
public class SampleRequest {
private Integer A;
private Integer B;
public void setA(final Integer A) {
this.A = A;
}
public void setB(final Integer B) {
this.B = B;
}
public Integer getAOrB() {
return A != null …
Run Code Online (Sandbox Code Playgroud) Java 是否有一个好的,严格的日期解析器?我可以访问Joda-Time,但我还没有看到这个选项.我发现"有一个很好的Java日期解析器"问题,虽然这是相关的,但却恰恰相反.虽然这个问题是要求一个宽松,更模糊逻辑和容易出现人为错误的解析器,但我想要一个严格的解析器.例如,对于JodaTime(据我所知)和simpleDateFormat,如果您的格式为"MM/dd/yyyy":
解析这个:40/40/4353
这将成为有效日期.我想要一个知道40是无效月份和日期的解析器.当然,Java中存在一些这样的实现?
我在一个域对象上有一个属性,该属性在多对一元素中声明.此属性的基本语法如下所示:
<many-to-one name="propertyName" class="propertyClass" fetch="select" not-found="ignore" lazy="proxy" />
Run Code Online (Sandbox Code Playgroud)
现在,我们的想法是让Hibernate不急切地获取这个属性.它可能为null,因此设置了未找到的忽略.
但是,Hibernate在加载包含此关联的类时,会在加载父类时自行加载实际的类(甚至不是代理)实例.由于某些属性的大小超过1MB,因此占用了大量的堆空间.
但是,如果not-found设置为exception(或默认为exception),则具有此属性的父类会加载代理!
如何在不加载代理的情况下阻止hibernate,同时仍然允许此属性为null?
我找到了lazy = no-proxy,但是文档讨论了某种字节码修改,并没有详细说明.有人可以帮我吗?
如果它很重要,它是Hibernate的Java版本,它至少是版本3(我可以查看实际版本,如果它有帮助,但它现在是Hibernate 3+).
我之前没有说明,但Java版本是1.4.因此,不支持Java注释.
我想知道Spring在其Web流产品中使用Spring EL而不是OGNL究竟是什么原因:
使用OGNL,我可以直接通过流动态创建简单类和执行方法等.我知道这不是一个很好的做法,这样做内实际的网页模板(即JSP)的,因为它们是基于演示文稿,但网络流量控制你的程序的逻辑,我觉得使用OGNL有效那里是非常方便的功能.此外,您可以测试流量以确保其轻松工作.
那么,有两个问题:
使用Spring EL而不是OGNL有什么主要好处,特别是在Spring Webflow的上下文中?
你能用Spring EL创建对象吗?