您好,登录后才能下订单哦!
由于工作原因,原有项目开发时,都是在tomcat8下面运行的,这次开发的项目,告知需要在websphere 8.5.5.14版本下运行,自己以前也没有弄过websphere的东西,于是从网上找了一些参考资料,资料中均只是介绍了如何进行部署,对于部署过程中遇到的问题,描述较少,本次主要记录实际操作过程中处理的问题。
说明项目开发框架为:SpringMvc 4.3.17 + mybatis3.2.2 +jdk1.7 开发。
首先安装websphere的过程就不介绍了,网上比较多,直接安装就行,通过maven将项目打包成war包,登录websphere控制台
如上图所示,点击应用程序类型下的WebSphere企业应用程序,即可出现右边的界面,点击安装,上传打包好的war包。
问题一:
上传war包出现如下图提示,经过google后,发现8.5.5版本的websphere不能使用javaee 3以上的,于是修改web.xml文件中的javaee版本为2.5.
修改完后,在打包上传就完成了安装步骤。接下来点击启动,启动过程中可以观察websphere的日志文件,通过日志文件确认服务启动情况。日志文件存放目录为:
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/server1/下,看SystemOut.log文件即可。
问题二:配置文件加载失败
在tomcat下面能正常运行的项目,移植到websphere下后,发现配置项加载不到,导致启动报错。于是查看了加载配置文件的地方
<bean id="propertyConfigurer" class="******.EncryptablePropertyPlaceholderConfigurer">
<constructor-arg ref="configurationEncryptor" />
<property name="ignoreResourceNotFound" value="true"></property>
<property name="locations">
<list>
<value>classpath:config-*.properties</value>
</list>
</property>
</bean>
如上,可以看出,是通过通配符的形式进行加载配置文件的,但是websphere不支持该种情况,于是改掉了此处加载配置文件的xml,重新打包更新。
问题三:mybatis别名找不到的问题
启动程序后,日志文件中报别名找不到,这就奇怪了,Tomcat下明明都没问题的代码,结果确找不到别名,代码如下
通过typeAliasesPackage,扫描了数据库实体类的包,结果还是不行。
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="typeAliasesPackage"
value="***.domain.model" />
<property name="mapperLocations" value="classpath*:mappers/*Mapper.xml" />
<property name="databaseIdProvider" ref="databaseIdProvider" />
</bean>
接下来,只能自己显示定义各个实体类的别名了,通过mybatis-config.xml文件中进行定义,如下所示
<typeAliases>
<typeAlias type="com.yibi.bank.domain.model.BankArbAgent" alias="bankArbAgent" />
</typeAliases>
修改完,打包更新,启动后,程序正常启动,无报错,websphere默认的端口为9080,访问正常。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。