我目前正在使用Wink 1.1.1和Spring 3.1.2迁移一个Java应用程序从WAS7到WAS8.5.5。我正在尝试使用Wink 8.5中可用的本地Wink集成,而不是使用我们目前在Wink 7中使用的单独Wink罐。
我得到了一个错误的服务器启动,看起来像这样:
原因:java。lang.ClassNotFoundException:org。阿帕奇。眨眼服务器内部的登记处。java上的ResourceRegistry。网URLClassLoader。findClass(URLClassLoader.java:434)
我对此有点困惑,因为据我所知,上面引用的类确实包含在wink jar的Apache版本中。
我想我的问题围绕着IBM对Wink 1.1.1的实现,它集成到WAS 8.5.5中。这个类不应该在IBM的实现中也可用吗?我错过了什么?
这是我的网站的一个片段。xml,以防有帮助:
<servlet>
<servlet-name>IBM Rest Servlet</servlet-name>
<servlet-class>com.ibm.websphere.jaxrs.server.IBMRestServlet</servlet-class>
</servlet>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:META-INF/server/wink-core-context.xml
/WEB-INF/spring/applicationContext-configuration.xml</param-value>
</context-param>
另外,在我的战争中,我的lib文件夹中只有wink-spring-support-1.1.1-incubating.jar。那里没有其他眨眼罐。
这是我的applicationContext配置。xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:jee="http://www.springframework.org/schema/jee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd">
<context:annotation-config />
<bean class="org.apache.wink.spring.Registrar">
<property name="classes">
<set value-type="java.lang.Class">
</set>
</property>
<property name="instances">
<set>
<ref local="someResource" />
<!-- ... -->
</set>
</property>
</bean>
<!-- Providers -->
<bean id="jaxbProvider" class="org.codehaus.jackson.jaxrs.JacksonJaxbJsonProvider" >
<property name="mapper" ref="jacksonObjectMapper"/>
</bean>
<bean id="jacksonObjectMapper" class="org.codehaus.jackson.map.ObjectMapper" >
<property name="annotationIntrospector" ref="jacksonAnnotationIntrospector"></property>
</bean>
<bean id="jacksonAnnotationIntrospector" class="org.codehaus.jackson.map.AnnotationIntrospector$Pair" >
<constructor-arg ref="primaryAnnotationIntrospector" />
<constructor-arg ref="secondaryAnnotationIntrospector" />
</bean>
<bean id="primaryAnnotationIntrospector" class="org.codehaus.jackson.xc.JaxbAnnotationIntrospector" />
<bean id="secondaryAnnotationIntrospector" class="org.codehaus.jackson.map.introspect.JacksonAnnotationIntrospector" />
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders" value="true"/>
</bean>
<bean id="propertyPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders" value="true" />
<property name="properties" ref="allProperties"/>
</bean>
<bean id="allProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="ignoreResourceNotFound" value="true" />
<property name="locations">
<list>
<value>classpath*:/META-INF/${Environment}-environment.properties</value>
</list>
</property>
</bean>
<import resource="applicationContext-otherFile.xml"/>
</beans>
类路径上的Spring JAR:
spring-jdbc-3.1.1.RELEASE.jar
spring-test-3.1.2.RELEASE.jar
spring-context-3.1.2.RELEASE.jar
spring-beans-3.1.2.RELEASE.jar
spring-core-3.1.2.RELEASE.jar
spring-tx-3.1.1.RELEASE.jar
spring-web-3.1.2.RELEASE.jar
spring-asm-3.1.2.RELEASE.jar
spring-aop-3.1.2.RELEASE.jar
spring-expression-3.1.2.RELEASE.jar
我已经尝试了两个类加载器设置的所有4种可能的组合(类加载器顺序)
谢谢你的帮助!
我能想到的问题是“ResourceRegistry
”类是从EAR内部的类而不是WAR中访问的。Wink类的作用域仅限于WAR,我猜应用程序正试图从WAR外部访问它,这就是为什么您会得到所提到的类的ClassNotFoundException。
我在使用websphere时遇到过许多ClassNotFoundException,根据我的经验,许多异常可以通过将websphere ClassLoader更改为PARENT_LAST来解决。这允许应用程序在websphere尝试加载websphere JRE中包含的JAR之前加载与应用程序一起打包的所有JAR。
我目前正在使用Wink 1.1.1和Spring 3.1.2将Java应用程序从WAS 7迁移到WAS 8.5.5。我正在尝试使用WAS8.5中提供的本机Wink集成,而不是使用目前WAS7中单独的Wink jar。 我得到了一个错误的服务器启动,看起来像这样: 造成原因:java.io.FileNotFound异常:类路径资源[META-INF/server/wink-core-context.
问题内容: 我是Spring的新手。 我们正在使用Spring Security功能。数据库连接:JPA的eclipselink实现。数据库:MySql 使用spring security时,身份验证提供程序的配置如下- 但是在JPA中,我们没有定义数据源,我们将Persistence unit与provider一起使用 那么,我们如何配置身份验证提供程序,以便将JPA用于数据库连接? 数据源引用
我正在试图理解如何编写一个简单的方法来从一个DB中检索数据,但没有成功。我正在使用Spring Boot2.1、Hibernate(由Spring Boot提供)、Wildfly14和Oracle12。 使用standalone.xml(由application.properties文件读取)上的数据源,与DB的连接似乎可以工作。我的问题是,如果我尝试使用EntityManager、EntityM
我创建了一个新的VS2012项目使用热毛巾模板,作为回报,使用Durandal,淘汰赛和微风。 我想使用jaydata而不是微风,对于ui层,我想使用出色的asKendoDataSource()功能来为kendoui网格供电。 我按照所有的指示,使kendoui工作良好的杜兰达尔。这很好。 我有一个模型,在这个模型中,我获取jaydata实体并在其上运行asKendoDataSource()。“我
我正在尝试学习python、mongodb和flask,我正在使用Miguel Grinberg提供的非常优秀的博客,他在博客上提供了一套很棒的教程。米格尔格林伯格。通用域名格式 我有一个小的RESTful服务器工作正常,但现在想从mongo而不是mysql中提取东西 我可以使用下面的代码拉出mongo记录,但我很难让它呈现出来。 我在下面的代码中使用了箭头来显示我在哪里挣扎,我认为缺乏经验。任何
更新:不幸的是,我没能用自定义TrustStore做到这一点。我用installCert.java安装了证书。