Maven 2 @部署到Glassfish上时未调用PostConstruct方法

Maven 2 @部署到Glassfish上时未调用PostConstruct方法,maven-2,ejb,glassfish-3,war,liquibase,Maven 2,Ejb,Glassfish 3,War,Liquibase,我计划使用LiquiBase来管理数据库,我希望每次将web应用程序部署到Glassfish 3.1时都能运行它。为此,我编写了以下类: @Singleton @Startup public class LiquibaseWrapper { @Resource(name = "jdbc/mydatabase") private DataSource dataSource; @PostConstruct @TransactionAttribute(Transac

我计划使用LiquiBase来管理数据库,我希望每次将web应用程序部署到Glassfish 3.1时都能运行它。为此,我编写了以下类:

@Singleton
@Startup
public class LiquibaseWrapper {

    @Resource(name = "jdbc/mydatabase")
    private DataSource dataSource;

    @PostConstruct
    @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
    public void doLiquibaseUpdate() {
        ResourceAccessor fileOpener = new ClassLoaderResourceAccessor();
        DatabaseFactory databaseFactory = DatabaseFactory.getInstance();
        Database database = null;
        try {
            database = databaseFactory
                    .findCorrectDatabaseImplementation(new Jdbc Connection(
                            dataSource.getConnection()));
            Liquibase liquibase = new Liquibase("ChangeLog.xml",
                    fileOpener, database);
            liquibase.update("");
        } catch (DatabaseException e) {
            // TODO: handle error
        } catch (SQLException e) {
            // TODO: handle error
        } catch (LiquibaseException e) {
            // TODO: handle error
        }
    }
}    
问题是,当我通过Eclipse将应用程序部署到服务器上时,doLiquiBaseUpdate()没有执行。当我用它构建WAR文件并手动部署它时,就会执行该方法

我有点困惑,为什么通过eclipse部署时doLiquiBaseUpdate()不运行

其他可能有用的信息: -正在使用Maven 2构建战争 -使用JSF2.1 -数据库是MySQL -使用LiquiBase 2.0.3 -EclipseIndigo与Glassfish服务器工具1.7.3