您好,登錄后才能下訂單哦!
由于工作原因,原有項目開發時,都是在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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。