Java Maven-在Glassfish Web配置文件上部署时发生CDI错误
我是马文的新手 尝试在Glassfish Server 3.1.2.2Web ProfileLinux上使用maven 3.0.4构建WAR应用程序时,出现以下错误:“org.jboss.weld.exceptions.DeploymentException:weld-001408未满足[…]类型的依赖项” 在这个错误导致的类上,CDI没有任何错误。证据是:相同的构建在Glassfish服务器3.1.2.2完整配置文件上工作。该项目在main/webapp/WEB-INF上有beans.xml 一个有趣的细节是,当我从依赖项中删除“提供的”范围时,错误消失,部署工作正常 生成的带有默认范围“compile”的WAR给了我一个24MB文件。生成的具有“提供”范围的WAR为我提供了一个11MB文件 如果我错了,请纠正我,但我认为没有必要将libs放入将由应用服务器提供的war中。我错过了什么 该应用程序使用JSF2.1、EJB3.1、CDI1.0、JPA2.0和JTA规范 下面是我的pom.xml:Java Maven-在Glassfish Web配置文件上部署时发生CDI错误,java,maven,jakarta-ee,glassfish,cdi,Java,Maven,Jakarta Ee,Glassfish,Cdi,我是马文的新手 尝试在Glassfish Server 3.1.2.2Web ProfileLinux上使用maven 3.0.4构建WAR应用程序时,出现以下错误:“org.jboss.weld.exceptions.DeploymentException:weld-001408未满足[…]类型的依赖项” 在这个错误导致的类上,CDI没有任何错误。证据是:相同的构建在Glassfish服务器3.1.2.2完整配置文件上工作。该项目在main/webapp/WEB-INF上有beans.xml
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>alfabr</groupId>
<artifactId>AlfaBR</artifactId>
<packaging>war</packaging>
<version>1.2.0-SNAPSHOT</version>
<name>AlfaBR Maven Webapp</name>
<url>http://maven.apache.org</url>
<repositories>
<repository>
<id>prime-repo</id>
<name>PrimeFaces Maven Repository</name>
<url>http://repository.primefaces.org</url>
<layout>default</layout>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>maven.java.net</id>
<name>Java.net Maven2 Repository</name>
<url>http://download.java.net/maven/2</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>javax.persistence</artifactId>
<version>2.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>3.4</version>
</dependency>
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<type>maven-plugin</type>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.4.3</version>
</dependency>
<dependency>
<groupId>javax.ejb</groupId>
<artifactId>javax.ejb-api</artifactId>
<version>3.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>3.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa</artifactId>
<version>2.4.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.directory.studio</groupId>
<artifactId>org.apache.commons.codec</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>javax.xml.rpc</groupId>
<artifactId>javax.xml.rpc-api</artifactId>
<version>1.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish.main</groupId>
<artifactId>javax.transaction</artifactId>
<version>4.0-b33</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.primefaces.themes</groupId>
<artifactId>bootstrap</artifactId>
<version>1.0.9</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis</artifactId>
<version>1.4</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<compilerArguments>
<verbose />
<bootclasspath>${java.home}/lib/rt.jar${path.separator}${java.home}/lib/jce.jar</bootclasspath>
</compilerArguments>
</configuration>
</plugin>
</plugins>
<finalName>AlfaBR</finalName>
</build>
</project>
4.0.0
阿尔法布尔
阿尔法布尔
战争
1.2.0-快照
AlfaBR Maven网络应用程序
http://maven.apache.org
优质回购
PrimeFacesMaven存储库
http://repository.primefaces.org
违约
maven.java.net
Java.net Maven2存储库
http://download.java.net/maven/2
朱尼特
朱尼特
3.8.1
测试
org.eclipse.persistence
javax.persistence
2.1.0
假如
javax.inject
javax.inject
1.
假如
org.primefaces
素面
3.4
javax.faces
JSFAPI
2.1
假如
org.apache.maven.plugins
maven编译器插件
3.1
maven插件
com.itextpdf
itextpdf
5.4.3
javax.ejb
javax.ejb-api
3.2
假如
org.apache.commons
commons-lang3
3.1
javax.servlet
javax.servlet-api
3.1.0
假如
javax.el
javax.el-api
3.0.0
假如
javax.enterprise
CDIAPI
1
假如
org.eclipse.persistence
org.eclipse.persistence.jpa
2.4.2
假如
org.apache.directory.studio
org.apache.commons.codec
1.8
javax.xml.rpc
javax.xml.rpc-api
1.1
假如
javax.persistence
持久性api
1.0.2
假如
org.glassfish.main
javax.transaction
4.0-b33
假如
org.primefaces.themes
独自创立
1.0.9
org.apache.commons
公地io
1.3.2
文件上传
文件上传
1.3
org.apache.axis
轴
1.4
maven编译器插件
2.3.2
1.7
1.7
${java.home}/lib/rt.jar${path.separator}${java.home}/lib/jce.jar
阿尔法布尔
是正确的。这与maven无关
我们正在将应用程序从Glassfish完整配置文件移动到Web配置文件,并开始使用maven
因此,我在一个注入的依赖项中发现了一个JAX-WS 2.2注释。JAX-WS不包括在Glassfish 3.1.2.2 Web概要文件中
我删除它,构建已成功部署。请提供完整的stacktrace。以及违规的类代码-您可能正在注入一些不属于JavaEE Web配置文件的内容。而且,这很可能与maven有关。你是对的。谢谢,很抱歉给您带来不便。