我正在开发一个简单的 JSF 2 应用程序,但在使用托管 bean 时遇到了问题。我收到错误消息,说找不到 bean,当我查看战争时,它没有任何已编译的 bean。在我的 pom.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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.traintrack</groupId>
<artifactId>test</artifactId>
<version>SNAPSHOT</version>
<packaging>war</packaging>
<name>test</name>
<build>
<outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory>
<plugins>
<plugin>
<groupId>org.jboss.as.plugins</groupId>
<artifactId>jboss-as-maven-plugin</artifactId>
<version>7.7.Final</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<warSourceDirectory>${basedir}/WebContent</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
如果我从 warSourceDirectory 中删除 WebContent 文件夹,我会在 war 文件中获取我项目的其余部分,但这似乎不对。该文件是由 eclipse 生成的,所以我认为它没问题。在 WEB-INF 中有一个类文件夹,它是空的。
我的项目文件夹结构是:
test
- src/
- sample/
- sampleBean.java
- WebContent/
- sample.xhtml
- WEB-INF/
- faces-config.xml
- web.xml
- META-IF/
Run Code Online (Sandbox Code Playgroud)
但是我编译的war文件的结构是这样的:
test …Run Code Online (Sandbox Code Playgroud)