0

我想要做的是在不使用任何 IDE 的情况下设置 JSF 应用程序以完全了解正在发生的事情。

这是我到目前为止所做的:

我创建了一个目录(D:\Project\MyMavenProject)并添加了一个 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.maxheapsize</groupId>
  <artifactId>jsf2demo</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>jsf2demo Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>com.sun.faces</groupId>
      <artifactId>jsf-api</artifactId>
      <version>2.0.0-b13</version>
      <scope>compile</scope>
    </dependency>

    <dependency>
      <groupId>com.sun.faces</groupId>
      <artifactId>jsf-impl</artifactId>
      <version>2.0.0-b13</version>
      <scope>compile</scope>
    </dependency>

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
    </dependency>

  </dependencies>
  <build>
    <finalName>jsf2demo</finalName>
  </build>

  <repositories>
    <repository>
      <id>maven2-repository.dev.java.net</id>
      <name>Java.net Repository for Maven</name>
      <url>http://download.java.net/maven/2</url>
    </repository>
  </repositories>

</project>

当我从命令行说:

mvn 验证

我得到构建错误。我究竟做错了什么? 在此处输入图像描述

这是图片的链接: http: //s11.postimage.org/jwr1laf5d/image.png

4

2 回答 2

1
http://download.java.net/maven/2/javax/servlet/

您的存储库没有 servlet-api 或 jstl 的依赖项

您可以使用http://repo1.maven.org/maven2 respository其中包含您正在寻找的 jstl 和 servlet-api 版本,

 <repositories>
    <repository>
      <id>maven2-repository.dev.java.net</id>
      <name>Java.net Repository for Maven</name>
      <url>http://download.java.net/maven/2</url>
    </repository>
     <repository>
      <id>maven2-central</id>
      <name>Maven Central</name>
      <url>http://repo1.maven.org/maven2</url>
    </repository>
  </repositories> 

另外,正如我从其他帖子中看到的那样,您没有创建项目目录,您可以使用 maven 原型在没有 IDE 的情况下创建项目

mvn archetype:generate -DgroupId=com.maxheapsize
                       -DartifactId=jsf2demo
                       -Dversion=1.0-SNAPSHOT
                       -DarchetypeArtifactId=maven-archetype-webapp
                       -DinteractiveMode=false

可用原型列表可在此处找到

http://maven.apache.org/guides/introduction/introduction-to-archetypes.html
于 2013-03-10T20:57:34.637 回答
0

听起来您只指定了一个存储库,它不包含您的 jsf 依赖项所需的所有依赖项。我认为您应该尝试将 ALSO 指向 Maven 中央存储库。您所指的 java repo 似乎不包含servlet-api您的 jsf pom 所需的示例。

于 2013-03-10T20:00:33.607 回答