【发布时间】:2018-05-26 07:56:05
【问题描述】:
我正在尝试在 Websphere 服务器上设置 flyway-migration。
我的项目由以下模块组成:
--projectwar.war
--projectsql.jar
--java
--MyFlywayUtil.class
-- resources
-- myscripts
--projectmodel.jar
--java
--MyRiskDataSourceConfig.class
MyRiskDataSourceConfig 包含 flyway 迁移声明:
@Bean(initMethod = "migrate")
public Flyway flyway(@Qualifier("myDataSource") DataSource dataSource) {
Flyway flyway = new Flyway();
flyway.setBaselineOnMigrate(true);
flyway.setClassLoader(MyFlywayUtil.class.getClassLoader());
flyway.setLocations("classpath:"+"myscripts");
flyway.setDataSource(dataSource);
return flyway;
}
在 Tomcat 下使用 bootRun 命令执行时,迁移工作正常并找到位置。
但是在 Websphere 下我收到以下信息:
com.ibm.ws.classloader.CompoundClassLoader@bb6f8b91[app]
Local ClassPath
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/cell01/project.ear/project.war/WEB-INF/classes
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/cell01/project.ear/project.war/WEB-INF/lib/projectmodel.jar
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/cell01/project.ear/project.war/WEB-INF/lib/projectsql.jar
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/cell01/project.ear/project.war
Parent com.ibm.ws.classloader.ProtectionClassLoader@c26663d6 Delegation Mode PARENT_FIRST)
On WebSphere an empty file named flyway.location must be present on the classpath location for WebSphere to find it!
o.f.c.i.u.s.classpath.ClassPathScanner Unable to resolve location classpath myscripts
我已经尝试过使用和不使用 flyway.setClassLoader();
任何帮助将不胜感激。
【问题讨论】:
标签: java spring websphere flyway