【问题标题】:WELD-001318 Cannot resolve an ambiguous dependency between . . . in GlassFish 4WELD-001318 无法解决 . . .在 GlassFish 4 中
【发布时间】:2014-06-11 05:30:49
【问题描述】:

我整个上午都在试图弄明白我的申请出了什么问题而没有成功。

我在这里找到了类似的问题,但我找不到我的问题的答案。

首先是 GlassFish 4 的错误列表显示我运行我的应用程序:

严重:部署期间出现严重错误: org.jboss.weld.exceptions.AmbiguousResolutionException: WELD-001318 无法解决 [Managed Bean [class com.sun.faces.flow.FlowDiscoveryCDIHelper] 与限定符 [@Default @Named @Any]、Managed Bean [class com.sun.faces.flow.FlowDiscoveryCDIHelper] 带限定符 [@Default @Named @Any]] 在 org.jboss.weld.manager.BeanManagerImpl.resolve(BeanManagerImpl.java:1130) 在 org.jboss.weld.el.AbstractWeldELResolver.lookup(AbstractWeldELResolver.java:107) 在 org.jboss.weld.el.AbstractWeldELResolver.getValue(AbstractWeldELResolver.java:96) 在 javax.el.CompositeELResolver.getValue(CompositeELResolver.java:188) 在 com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176) 在 com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203) 在 com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:116) 在 com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:226) 在 org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50) 在 com.sun.faces.application.ApplicationAssociate$PostConstructApplicationListener.loadFlows(ApplicationAssociate.java:324) 在 com.sun.faces.application.ApplicationAssociate$PostConstructApplicationListener.processEvent(ApplicationAssociate.java:300) 在 javax.faces.event.SystemEvent.processListener(SystemEvent.java:108) 在 com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2187) 在 com.sun.faces.application.ApplicationImpl.invokeListenersFor(ApplicationImpl.java:2163) 在 com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:296) 在 javax.faces.application.ApplicationWrapper.publishEvent(ApplicationWrapper.java:739) 在 com.sun.faces.config.ConfigManager.publishPostConfigEvent(ConfigManager.java:680) 在 com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:253) 在 org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:5362) 在 com.sun.enterprise.web.WebModule.contextListenerStart(WebModule.java:743) 在 org.apache.catalina.core.StandardContext.start(StandardContext.java:5898) 在 com.sun.enterprise.web.WebModule.start(WebModule.java:691) 在 org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1041) 在 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:1024) 在 org.apache.catalina.core.StandardHost.addChild(StandardHost.java:747) 在 com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2291) 在 com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1937) 在 com.sun.enterprise.web.WebApplication.start(WebApplication.java:139) 在 org.glassfish.internal.data.EngineRef.start(EngineRef.java:122) 在 org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:291) 在 org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:352) 在 com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:497) 在 com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219) 在 org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:527) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:523) 在 java.security.AccessController.doPrivileged(本机方法) 在 javax.security.auth.Subject.doAs(Subject.java:356) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:522) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:546) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1423) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl.access $1500(CommandRunnerImpl.java:108) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1761) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1674) 在 com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:534) 在 com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:224) 在 org.glassfish.grizzly.http.server.StaticHttpHandler.service(StaticHttpHandler.java:297) 在 com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:246) 在 org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191) 在 org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168) 在 org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189) 在 org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) 在 org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288) 在 org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206) 在 org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136) 在 org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114) 在 org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) 在 org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838) 在 org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113) 在 org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115) 在 org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55) 在 org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135) 在 org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564) 在 org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544) 在 java.lang.Thread.run(Thread.java:722) 严重:由于先前的错误,上下文 /movieplex7 的启动失败 严重:启动失败后清理期间出现异常

问题是我的应用程序中根本没有任何 com.sun.faces.flow.FlowDiscoveryCDIHelper 类。

我不知道这是否有帮助,但这是 pom 文件:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>org.glassfish</groupId>
<artifactId>movieplex7</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>

<name>movieplex7</name>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<repositories>
    <repository>
        <id>java.net</id>
        <url>https://maven.java.net/content/groups/promoted/</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>javax.inject</groupId>
        <artifactId>javax.inject</artifactId>
        <version>1</version>
        <type>jar</type>
    </dependency>
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>7.0-b80</version>
        <type>jar</type>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-common</artifactId>
        <version>2.0-m13-2</version>
        <scope>provided</scope>
    </dependency>        
    <dependency>
        <groupId>javax.batch</groupId>
        <artifactId>javax.batch-api-all</artifactId>
        <version>1.0-b10</version>        
        <scope>provided</scope>
    </dependency>

</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.1.1</version>
            <configuration>
                <failOnMissingWebXml>false</failOnMissingWebXml>
            </configuration>
        </plugin>
    </plugins>
</build>

感谢您的建议

【问题讨论】:

    标签: java maven glassfish


    【解决方案1】:

    您可以尝试将 Java EE API 依赖项放入提供的范围:

    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>7.0-b80</version>
        <type>jar</type>
        <scope>provided</scope>
    </dependency>
    

    .jar 是默认类型。将它放在你的 pom.xml 文件中,仅用于 pom、war 等其他类型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-15
      • 1970-01-01
      • 2013-10-15
      • 1970-01-01
      • 1970-01-01
      • 2017-08-30
      • 1970-01-01
      相关资源
      最近更新 更多