0

我正在使用 Eclipse for Java EE 和 AWS Toolkit for Eclipse v2。我使用的是 macOS Mojave 版本 10.14.5。我安装了 Java 8。

第一次创建 AWS Java Web 项目时出现错误,提示“无法安装 JavaServer Faces 2.2:未满足一个或多个约束”。和“JavaServer Faces 2.2 需要动态 Web 模块 2.5 或更高版本。” 如此屏幕截图所示:

在此处输入图像描述

这是 webproject01/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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.amazonaws.beanstalk</groupId>
  <artifactId>webproject01</artifactId>
  <packaging>war</packaging>
  <version>1.0.0</version>
  <name>archetype-web-app Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>javax</groupId>
      <artifactId>javaee-api</artifactId>
      <version>7.0</version>
    </dependency>

    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-ec2</artifactId>
    </dependency>
    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-s3</artifactId>
    </dependency>
    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-dynamodb</artifactId>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-bom</artifactId>
        <version>1.11.104</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
</project>

这是 webproject01/bin/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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.amazonaws.beanstalk</groupId>
  <artifactId>webproject01</artifactId>
  <packaging>war</packaging>
  <version>1.0.0</version>
  <name>webproject01 Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>webproject01</finalName>
  </build>
</project>

这是 web.xml 文件:

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <display-name>Archetype Created Web Application</display-name>
</web-app>

我想直接从 Eclipse 通过 AWS Elastic Beanstalk 将我的 AWS Java Web 项目部署到 AWS。

我查看了有关堆栈溢出的其他类似帖子并尝试了他们的解决方案,但没有一个有效。它们是较旧的帖子。

4

2 回答 2

2

也许有人会有用。

如果您使用的是 JBoss 工具,那么不要为项目设置 JSF 方面

Properties -> Project Facets -> JavaServer Faces (2.3)

最好使用另一个选项:

Properties -> JBoss Tools Knowledge Base -> JBoss Tools Knowledge Base Support

如果启用此选项,则 XHTML (JSF) 页面的 Eclipse 自动完成(内容辅助)将正常工作。

于 2020-12-04T07:07:50.000 回答
1

您需要升级您的web.xml以提供更新的版本:

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
</web-app>

您当前说您的 Web 应用程序是 servlet 版本 2.3 应用程序。

于 2019-06-04T21:03:31.157 回答