我需要编写一个模块来检测类似的文档.我已经阅读了许多关于文档技术和其他指纹的论文,但我不知道如何编写代码或实现这样的解决方案.该算法应适用于中文,日文,英文和德文,或与语言无关.我怎么能做到这一点?
启动Eclipse后,Mven似乎将编译器设置设置为1.5并忘记所有其他全局代码样式设置,以确保更高的代码质量.
有没有办法禁用此功能?或者我可以在POM中指定所有编译器和代码样式检查吗?
这非常烦人,因为Ecplise无法运行应用程序,因为不允许覆盖接口的注释.在重启后始终设置Java compiler
- >中的勾选Enable project specific settings
.
我习惯使用Spring来执行依赖注入,如下所示:
<context:component-scan base-package="org.emmerich.myapp" />
Run Code Online (Sandbox Code Playgroud)
然后用Autowired
这样注释我的依赖类:
public class DependentClass {
@Autowired
private Dependency dependency;
}
Run Code Online (Sandbox Code Playgroud)
但是,随着Hibernate 4.0的变化,我们现在建议使用新Integrator
接口进行服务发现.这包括添加事件侦听器触发器如postUpdate
,postDelete
等
不幸的是,这与通过注释依赖项的依赖注入不能很好地协作.我有以下设置:
我已经定义了一个集成器来添加我的监听器ServiceFactory
.这在文件中引用META-INF/services/org.hibernate.integrator.spi.Integrator
.
public class MyIntegrator implements Integrator {
private MyListener listener;
public MyIntegrator() {
listener = new MyListener();
}
@Override
public void integrate(Configuration configuration,
SessionFactoryImplementor sessionFactory,
SessionFactoryServiceRegistry serviceRegistry) {
final EventListenerRegistry eventRegistry =
serviceRegistry.getService(EventListenerRegistry.class);
eventRegistry.prependListeners(EventType.POST_COMMIT_INSERT, listener);
}
Run Code Online (Sandbox Code Playgroud)
我也定义了类MyListener
,它看起来像你典型的事件监听器.
@Component
public class MyListener implements PostInsertEventListener {
@Autowired
private Dependent dependent;
public …
Run Code Online (Sandbox Code Playgroud) 我收到的String
是一周的拼写日,例如星期一.现在我想得到那天使用的常量整数表示java.util.Calendar
.
我真的必须自己做if(day.equalsIgnoreCase("Monday")){...}else if(...){...}
吗?有一些简洁的方法吗?如果我挖出SimpleDateFormat
并与Calendar
我混合产生几乎与打字丑陋的if-else-infitity statetment一样多的行.
我使用maven自动安装的junit.当我运行maven测试时,我的测试工作正常.但是当我调用Eclipse JUnit测试时,它不使用当前版本的测试类.
例如,如果我将a更改 assertTrue()
为a,assertFalse()
我会得到相同的结果.这真让我抓狂.
项目的自动构建已启用.为什么JUnit会使用一些旧垃圾?
谢谢您的帮助.maven clean和eclipse clean解决了这个问题.奇怪的...
你怎么能收缩LinkedHashMap
?我重写了removeEldestEntry
方法,但只在插入新值时才调用此方法一次.所以没有改变使地图变小的方式.
该LinkedHashMap
只给我一个正常的Iterator
,并没有任何removeLast
或listIterator
方法,那么如何找到最后,说1000,条目并删除它们?
我能想到的唯一方法是迭代整个事情.但这可能需要很长时间......
每次我只想删除少量元素时创建一个新地图也会破坏内存.
Iterator
当方法maxSize
中的减少时,可能会删除它的第一个值然后重新插入它们removeEldestEntry
.然后重新插入将踢出最旧的值.这是非常难看的代码......有什么更好的想法吗?
编辑:Sry迭代顺序是最年轻的.这很容易
我实现Map<V,K>
和Collection<V>
接口在一类,但remove(Object)
发生法两种接口,therfore日食表明了我的一些错误.返回类型是不同的,一个返回boolean
,另一个V
但这似乎并不重要.
有没有办法告诉java/eclipse哪个方法实际被覆盖?
编辑:我有一个所有值必须实现的接口,它使用getKey()方法提供值,从而可以为地图编写添加函数.但似乎没有办法让这一个类同时看作地图和集合?
我有一些JAXB生成的bean,它们是分层结构,例如一个bean拥有其他bean的列表.现在我想扩展一些子元素以及包含扩展子元素的父元素.
我ParentEx
实现了一些其他IParent
预期返回的接口Collection<IChild>
.我的ChildEx
工具IChild
.退货(Collection<IChild>)super.getChild()
时可以super.getChild()
退货List<Child>
吗?或者有更好的方法吗?
Child
并且Parent
是JAXB生成的beanChildEx
并且ParentEx
是我自己的bean,用于将JAXB bean映射到给定的接口.两个bean都覆盖了ObjectFactory
IChild
并且IParent
是其他一些库所需的接口编辑: Eclipse甚至不让我的演员来List<Child>
,List<ChildEx>
所以我必须添加一些丑陋的中间通配符强制转换(List<ChildEx>)(List<?>)super.getChild()
我正在尝试从我的Java EE程序向需要证书身份验证的主机发送HTTPS请求.我有一个正确的密钥库文件,信任库和导入的CA,两个列表都显示证书在里面.
但是我收到以下错误:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: KeyUsage does not allow digital signatures
at ...
...
Caused by: sun.security.validator.ValidatorException: KeyUsage does not allow digital signatures
at sun.security.validator.EndEntityChecker.checkTLSServer(EndEntityChecker.java:270)
at sun.security.validator.EndEntityChecker.check(EndEntityChecker.java:141)
at sun.security.validator.Validator.validate(Validator.java:264)
at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:326)
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231)
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:126)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1319)
... 29 more
Run Code Online (Sandbox Code Playgroud)
在扩展部分中查看证书内容我看到以下内容:
Extensions:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 33 87 72 1D 09 2F DF FF 1A A7 D1 C0 E1 CF C5 FA 3.r../..........
0010: A4 19 54 2E ..T.
]
]
#2: ObjectId: 2.16.840.1.113730.1.1 Criticality=false …
Run Code Online (Sandbox Code Playgroud)