0


初学springmvc遇到“源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。“错误

我的项目有两层pom.xml,太复杂,这里解释的不对,我发现第二层target中有class文件,第一层out/artifacts中没有class文件,而且不是pom.xml配置的问题。建议重建项目再试试。

以下解释有误:

我通过复制已有项目的web.xml、applicationContext.xml,创建了一个新的springmvc项目,但是配置controller的映射路径都不能正常访问。

我重新创建项目,手敲web.xml、applicationContext.xml,问题还在。

对比发现pom.xml有差异:

<?xml version="1.0" encoding="UTF-8"?>
<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">
    <parent>
        <artifactId>springmvcdemo</artifactId>
        <groupId>org.jlcc</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.kuang</groupId>
    <artifactId>springmvc-03-annotation</artifactId>
    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.22</version>
            <scope>provided</scope>
        </dependency>

    </dependencies>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <build>
        <!--这个元素描述了项目相关的所有资源路径列表,例如和项目相关的属性文件,这些资源被包含在最终的打包文件里。 -->
        <resources>
            <!--这个元素描述了项目相关或测试相关的所有资源路径 -->
            <resource>
                <!--描述存放资源的目录,该路径相对POM路径 -->
                <directory>src/main/java</directory>
                <!--包含的模式列表,例如**/*.xml. -->
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <!--描述存放资源的目录,该路径相对POM路径 -->
                <directory>src/main/resources</directory>
                <!--包含的模式列表,例如**/*.xml. -->
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>

    </build>

</project>

新创建项目的pom.xml(IDEA自动生成)缺build字段:

<?xml version="1.0" encoding="UTF-8"?>
<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">
    <parent>
        <artifactId>springmvcdemo</artifactId>
        <groupId>org.jlcc</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.kuang</groupId>
    <artifactId>springmvc06ajax</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

</project>

对比out目录中生成的class文件,发现没有配置 build->resources字段的代码没有生成class文件。

我查了下build->resources字段的作用:

  1. <resources>

资源往往不是代码,无需编译,而是一些properties或XML配置文件,构建过程中会往往会将资源文件从源路径复制到指定的目标路径。

因为新项目没有配置build,所以程序构建没有xml配置文件,程序就无法允许。

Maven build之pom.xml文件中的Build配置 - 程序员大本营

标签: 服务器 java postman

本文转载自: https://blog.csdn.net/qq_27361945/article/details/122762906
版权归原作者 梓沂 所有, 如有侵权,请联系我们删除。

“初学springmvc遇到“源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。“错误”的评论:

还没有评论