我在Tomcat 6.0.37中部署Spring 4.0.1应用程序时遇到异常:
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean#0': Invocation of init method failed; nested exception is java.lang.AbstractMethodError: org.hibernate.validator.internal.engine.ConfigurationImpl.getDefaultParameterNameProvider()Ljavax/validation/ParameterNameProvider;
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1553)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:700)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:504)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) …Run Code Online (Sandbox Code Playgroud) Multi Module Maven项目在Intellij中配置.有两个模块 - 普通模块和服务模块.在服务模块的pom.xml中添加了公共依赖项.mvn clean install是成功的,仍然Intellij在将公共模块中的类导入到一类服务模块中时显示编译错误.
我尝试了各种选项,例如Reimport,Rebuild,Synchronize mvn clean install, mvn -U idea:idea. 但都没有效果.
最后,它在"项目结构"窗口中手动添加"依赖关系"选项卡中的"模块依赖性"后工作.
如何配置Intellij自动添加模块依赖?
请在下面找到相关代码.
常用模块的pom.xml:
<project ...>
<modelVersion>4.0.0</modelVersion>
<name>common</name>
<groupId>myproject</groupId>
<artifactId>common</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
...
Run Code Online (Sandbox Code Playgroud)
服务模块的pom.xml
...
<dependencies>
<dependency>
<groupId>myproject</groupId>
<artifactId>common</artifactId>
<version>1.0</version>
<type>jar</type>
</dependency>
...
Run Code Online (Sandbox Code Playgroud)
com.com.com.常见模块的客户.
package com.common;
public class Customer {
...
}
Run Code Online (Sandbox Code Playgroud)
class com.service.CustManager of service module.
package com.service;
import com.common.Customer; // getting error in Itellij at this line.
public class CustManager {
...
}
Run Code Online (Sandbox Code Playgroud) 如何在Spring 4中将2 xml以下的配置转换为java Config
1)jasypt
<encryption:encryptor-config id="eConf" password-env-name="APP_ENCRYPTION_PASSWORD" algorithm="PBEWithMD5AndDES" />
<encryption:string-encryptor id="stringEnc" config-bean="eConf" />
Run Code Online (Sandbox Code Playgroud)
encryption:encryptor-config加密的第一部分()可以像这样转换:
@Bean
public EnvironmentStringPBEConfig environmentVariablesConfiguration() {
EnvironmentStringPBEConfig config = new EnvironmentStringPBEConfig();
config.setAlgorithm("PBEWithMD5AndDES");
config.setPasswordEnvName("APP_ENCRYPTION_PASSWORD");
}
Run Code Online (Sandbox Code Playgroud)
但是,如何转换加密:string-encryptor部分.
2)简介
<beans profile="dev">
<util:properties id="myProps" location="classpath:dev.properties" />
</beans>
<beans profile="prod">
<util:properties id="myProps" location="classpath:prod.properties" />
</beans>
Run Code Online (Sandbox Code Playgroud)
@PropertySource("classpath:prod.properties")用于util:properties,但如何在PropertySource注释中提到配置文件?