代码之家  ›  专栏  ›  技术社区  ›  Piro

在Maven目标和Maven存储库中都找到Liquibase资源

  •  1
  • Piro  · 技术社区  · 7 年前

    flowable-form-engine 使用Liquibase的依赖项。Liquibase正在搜索更改日志文件 org/flowable/form/db/liquibase/flowable-form-db-changelog.xml 但是找到了两个!

    org.flowable.common.engine.api.FlowableException: Error initialising form data schema
        at org.flowable.form.engine.impl.db.FormDbSchemaManager.initSchema(FormDbSchemaManager.java:58)
        at org.flowable.form.engine.impl.cmd.SchemaOperationsFormEngineBuild.execute(SchemaOperationsFormEngineBuild.java:29)
        at org.flowable.form.engine.impl.cmd.SchemaOperationsFormEngineBuild.execute(SchemaOperationsFormEngineBuild.java:24)
        at org.flowable.common.engine.impl.interceptor.DefaultCommandInvoker.execute(DefaultCommandInvoker.java:10)
        at org.flowable.common.engine.impl.interceptor.TransactionContextInterceptor.execute(TransactionContextInterceptor.java:53)
        at org.flowable.common.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:71)
        at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
        at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56)
        at org.flowable.form.engine.impl.FormEngineImpl.<init>(FormEngineImpl.java:45)
        at org.flowable.form.engine.FormEngineConfiguration.buildFormEngine(FormEngineConfiguration.java:172)
        at org.flowable.form.engine.configurator.FormEngineConfigurator.initFormEngine(FormEngineConfigurator.java:83)
        at org.flowable.form.engine.configurator.FormEngineConfigurator.configure(FormEngineConfigurator.java:63)
        at org.flowable.common.engine.impl.AbstractEngineConfiguration.configuratorsAfterInit(AbstractEngineConfiguration.java:859)
        at org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl.init(ProcessEngineConfigurationImpl.java:985)
        at org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl.buildProcessEngine(ProcessEngineConfigurationImpl.java:887)
        at sk.dominanz.coarui.server.services.WorkflowServiceAdditional.<clinit>(WorkflowServiceAdditional.java:64)
        ... 33 more
    Caused by: liquibase.exception.ChangeLogParseException: Error Reading Migration File: Found 2 files that match org/flowable/form/db/liquibase/flowable-form-db-changelog.xml
        at liquibase.parser.core.xml.XMLChangeLogSAXParser.parseToNode(XMLChangeLogSAXParser.java:118)
        at liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:15)
        at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:217)
        at liquibase.Liquibase.update(Liquibase.java:190)
        at liquibase.Liquibase.update(Liquibase.java:179)
        at liquibase.Liquibase.update(Liquibase.java:175)
        at liquibase.Liquibase.update(Liquibase.java:168)
        at org.flowable.form.engine.impl.db.FormDbSchemaManager.initSchema(FormDbSchemaManager.java:52)
        ... 48 more
    Caused by: java.io.IOException: Found 2 files that match org/flowable/form/db/liquibase/flowable-form-db-changelog.xml
        at liquibase.util.StreamUtil.singleInputStream(StreamUtil.java:206)
        at liquibase.parser.core.xml.XMLChangeLogSAXParser.parseToNode(XMLChangeLogSAXParser.java:71)
        ... 55 more
    

    jar:file:/C:/work/git/coarui/target/Main-1.0-SNAPSHOT/WEB-INF/lib/flowable-form-engine-6.4.0.jar!/org/flowable/form/db/liquibase/flowable-form-db-changelog.xml
    

    以及maven存储库中的其他资源:

    jar:file:/C:/Users/Piro/.m2/repository/org/flowable/flowable-form-engine/6.4.0/flowable-form-engine-6.4.0.jar!/org/flowable/form/db/liquibase/flowable-form-db-changelog.xml
    

    有没有办法忽略其中一个,或者我的构建路径或依赖项定义是错误的?

    • src/test/java源代码
    • Maven依赖项(在C:/Users/Piro/.m2/repository…)
    • JUnit4

    查看源代码资源是否被读取 classLoader.getResources(path); JettyLauncher$WebAppContextWithReload$WebAppClassLoaderExtension .

    在我的运行/调试配置中,我的类路径类似于构建路径加GWT库 gwt-dev-2.8.1.jar - C:\Users\Piro\.m2\repository\com\google\gwt\gwt-dev\2.8.1

    在里面 pom.xml 依赖性定义为:

    <dependency>
      <groupId>org.flowable</groupId>
      <artifactId>flowable-form-engine-configurator</artifactId>
      <version>${flowableVersion}</version>
    </dependency>
    

    groupId=net.ltgt.gwt.maven, artifactId=gwt-maven-plugin 具有配置参数 classpathScope 但我测试了 <classpathScope>compile+runtime</classpathScope> <classpathScope>compile</classpathScope> <classpathScope>runtime</classpathScope> 同样的错误也会发生。

    1 2

    2 回复  |  直到 7 年前
        1
  •  3
  •   Thomas Broyer    7 年前

    当您在同一个Maven模块中混合客户机和服务器代码时,通常会发生这种情况,考虑到GWT的工作方式,除了将代码拆分为单独的客户机和服务器(可能是共享的)Maven模块之外,没有(简单的)解决方法。

    你可以看看 https://github.com/tbroyer/gwt-maven-archetypes

        2
  •  1
  •   mshutov    7 年前

    似乎出于某种原因你的 .m2 在类路径中。如果这对你来说真的有意义,那么你可以尝试使用 <scope>provided</scope> 在pom中,您向 flowable-form-engine-configurator . 但是,您可以决定排除 从类路径,我认为哪个更好。

    推荐文章