数据类型分数的未满足依赖项



>我正在尝试使用ThorntailDeltaSpike创建一个项目。 我创建了两个不同的Maven项目。

  1. Web - 这将有JSF和CDI。
  2. 核心 - 这将具有DeltaSpike数据模块,CDI和JPA。

以下是 POM 文件:

  1. 核心项目

    jar
    org.apache.deltaspike.distribution 分布-物料清单 ${deltaspike.version} 聚 甲醛 进口 荆棘尾草 物料清单 ${version.thorntail} 聚 甲醛 进口

    <dependencies>
    <dependency>
    <groupId>io.thorntail</groupId>
    <artifactId>cdi</artifactId>
    <version>${version.thorntail}</version>
    </dependency>
    <dependency>
    <groupId>io.thorntail</groupId>
    <artifactId>jpa</artifactId>
    <version>${version.thorntail}</version>
    </dependency>
    <dependency>
    <groupId>io.thorntail</groupId>
    <artifactId>datasources</artifactId>
    <version>${version.thorntail}</version>
    </dependency>       
    <dependency>
    <groupId>org.apache.deltaspike.core</groupId>
    <artifactId>deltaspike-core-api</artifactId>
    <scope>compile</scope>
    </dependency>
    <dependency>
    <groupId>org.apache.deltaspike.core</groupId>
    <artifactId>deltaspike-core-impl</artifactId>
    <scope>runtime</scope>
    </dependency>
    <dependency>
    <groupId>org.apache.deltaspike.modules</groupId>
    <artifactId>deltaspike-data-module-api</artifactId>
    <version>${deltaspike.version}</version>
    <scope>compile</scope>
    </dependency>       
    <dependency>
    <groupId>org.apache.deltaspike.modules</groupId>
    <artifactId>deltaspike-data-module-impl</artifactId>
    <version>${deltaspike.version}</version>
    <scope>runtime</scope>
    </dependency>
    <dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>1.4.192</version>
    </dependency>
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>3.8.1</version>
    <scope>compile</scope>
    </dependency>
    <dependency>
    <groupId>io.thorntail</groupId>
    <artifactId>arquillian</artifactId>
    <scope>test</scope>
    </dependency>
    <dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>24.0-jre</version>
    <scope>test</scope>
    </dependency>
    </dependencies>
    <build>
    <finalName>core</finalName>
    <plugins>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
    <source>1.8</source>
    <target>1.8</target>
    </configuration>
    </plugin>
    </plugins>
    </build>
    
  2. 网页项目

    战争 1.9.1 2.5.0.决赛

    <dependencies>
    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>3.8.1</version>
    <scope>test</scope>
    </dependency>
    <dependency>
    <groupId>test.core</groupId>
    <artifactId>core</artifactId>
    <version>0.0.1-SNAPSHOT</version>           
    </dependency>
    <dependency>
    <groupId>io.thorntail</groupId>
    <artifactId>jsf</artifactId>
    <version>${version.thorntail}</version>
    </dependency>
    <dependency>
    <groupId>io.thorntail</groupId>
    <artifactId>cdi</artifactId>
    <version>${version.thorntail}</version>
    </dependency>
    </dependencies>
    <build>
    <finalName>web</finalName>
    <plugins>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.1</version>
    <configuration>
    <source>1.8</source>
    <target>1.8</target>
    </configuration>
    </plugin>           
    <plugin>
    <groupId>io.thorntail</groupId>
    <artifactId>thorntail-maven-plugin</artifactId>
    <version>${version.thorntail}</version>
    <executions>
    <execution>
    <goals>
    <goal>package</goal>
    </goals>
    </execution>
    </executions>
    </plugin>
    </plugins>
    </build>
    

我创建了实体管理器生产者,我有一个持久性.xml我在核心项目的主/资源中创建了project-defaults.yml

但是我不断收到以下错误:

2019-10-21 09:04:47,733 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC000001: Failed to start service jboss.deployment.unit."web.war".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."web.war".WeldStartService: Failed to start service
at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1730)
at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1558)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type DatasourcesFraction with qualifiers @Default
at injection point [BackedAnnotatedField] @Inject org.wildfly.swarm.datasources.runtime.DatasourceAndDriverCustomizer.fraction
at org.wildfly.swarm.datasources.runtime.DatasourceAndDriverCustomizer.fraction(DatasourceAndDriverCustomizer.java:0)
at org.jboss.weld.bootstrap.Validator.validateInjectionPointForDeploymentProblems(Validator.java:378)
at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:290)
at org.jboss.weld.bootstrap.Validator.validateGeneralBean(Validator.java:143)
at org.jboss.weld.bootstrap.Validator.validateRIBean(Validator.java:164)
at org.jboss.weld.bootstrap.Validator.validateBean(Validator.java:526)
at org.jboss.weld.bootstrap.ConcurrentValidator$1.doWork(ConcurrentValidator.java:64)
at org.jboss.weld.bootstrap.ConcurrentValidator$1.doWork(ConcurrentValidator.java:62)
at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:62)
at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:55)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
at org.jboss.threads.JBossThread.run(JBossThread.java:485)

一个使用 Thorntail Maven插件生成 uberjar 的 Maven 模块需要了解所有使用的 Thorntail 分数。人们会期望分数会从core依赖中传递引入,但我认为这并不真正有效。您要么必须在web模块中将所有分数声明为依赖项,也可以将它们列在 Thorntail Maven 插件的<fractions>配置属性中。

最新更新