Spring 安装facet的目的是什么;jst.web“;在org.eclipse.wst.common.project.facet.core.xml中

Spring 安装facet的目的是什么;jst.web“;在org.eclipse.wst.common.project.facet.core.xml中,spring,eclipse,maven,servlets,eclipse-plugin,Spring,Eclipse,Maven,Servlets,Eclipse Plugin,每当我将maven项目导入Eclipse时,就会得到facet jst.web的版本2.3。我必须手动更改此文件(通过右键单击project>project>choose 3.1 for Dynamic Web Module进行更改不允许我单击应用) 虽然这似乎是一个小问题,但我必须多次这样做,否则,我会正确地执行“mvn clean compile”,但当我右键单击服务器并尝试添加应用程序时,我会看到它错过了spring-web-x.x.x.jar,显然应用程序已部署,但根本无法工作 org.

每当我将maven项目导入Eclipse时,就会得到facet jst.web的版本2.3。我必须手动更改此文件(通过右键单击project>project>choose 3.1 for Dynamic Web Module进行更改不允许我单击应用)

虽然这似乎是一个小问题,但我必须多次这样做,否则,我会正确地执行“mvn clean compile”,但当我右键单击服务器并尝试添加应用程序时,我会看到它错过了spring-web-x.x.x.jar,显然应用程序已部署,但根本无法工作

org.eclipse.wst.common.project.facet.core.xml

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="jst.web" version="2.3"/> <!-- I always have to change here to reflect javax.servlet-api version from my pom -->
  <installed facet="wst.jsdt.web" version="1.0"/>
  <installed facet="java" version="1.7"/>
</faceted-project>

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.mycomp.springmvc</groupId>
    <artifactId>myapp</artifactId>
    <version>1.0.0</version>
    <packaging>war</packaging>

    <name>my-app</name>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <springframework.version>4.3.1.RELEASE</springframework.version>
        <springsecurity.version>4.1.1.RELEASE</springsecurity.version>
        <springsecurityoauth2.version>2.0.10.RELEASE</springsecurityoauth2.version>
        <jackson.library>2.7.5</jackson.library>
    </properties>

    <dependencies>
        <!-- Spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${springframework.version}</version>
        </dependency>

        <!-- Spring Security -->
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-web</artifactId>
            <version>${springsecurity.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
            <version>${springsecurity.version}</version>
        </dependency>

        <!-- Spring Security OAuth2-->
        <dependency>
            <groupId>org.springframework.security.oauth</groupId>
            <artifactId>spring-security-oauth2</artifactId>
            <version>${springsecurityoauth2.version}</version>
        </dependency>

        <!-- Jackson libraries -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>${jackson.library}</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-xml</artifactId>
            <version>${jackson.library}</version>
        </dependency>

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

    <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.6.1</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>3.0.0</version>
                    <configuration>
                        <warSourceDirectory>src/main/webapp</warSourceDirectory>
                        <warName>my-app</warName>
                        <failOnMissingWebXml>false</failOnMissingWebXml>
                    </configuration>
                </plugin>
            </plugins>
        <finalName>my-app</finalName>
    </build>
</project>

4.0.0
com.mycop.springmvc
myapp
1.0.0
战争
我的应用程序
UTF-8
4.3.1.1发布
4.1.1.1发布
2.0.10.1发布
2.7.5
org.springframework
弹簧芯
${springframework.version}
org.springframework
弹簧网
${springframework.version}
org.springframework
SpringWebMVC
${springframework.version}
org.springframework.security
spring安全网
${springsecurity.version}
org.springframework.security
spring安全配置
${springsecurity.version}
org.springframework.security.oauth
spring-security-oauth2
${springsecurityoauth2.version}
com.fasterxml.jackson.core
杰克逊数据绑定
${jackson.library}
com.fasterxml.jackson.dataformat
jackson数据格式xml
${jackson.library}
javax.servlet
javax.servlet-api
3.1.0
org.apache.maven.plugins
maven编译器插件
3.6.1
1.7
1.7
org.apache.maven.plugins
maven战争插件
3.0.0
src/main/webapp
我的应用程序
假的
我的应用程序

动态Web模块每次都会根据Eclipse首选项版本设置中的设置进行更新。动态Web模块提供了使用servlet版本作为JavaEE中Web组件之一的规定

请查找更多信息:

您还可以在
web.xml

xml DTD版本中的web.xml DocType示例

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

除了链接之外,如果您在此处包含相关步骤,这将非常有用。如果将来链接不可用怎么办?