当前位置: 首页 > 知识库问答 >
问题:

“无法初始化类...”一个新的Maven项目在pom.xml中出错

长孙弘盛
2023-03-14

我用缺省版本0.0.1-Snapshot为我的项目提供了组Id和工件Id,并单击了Finish。

Eclipse创建项目时出现了以下2个错误:

  1. index.jsp:“在Java构建路径上找不到超类”javax.servlet.http.HttpServlet“”
  2. pom.xml:第一行“无法初始化类org.apache.maven.plugin.war.util.WebAppStructureSerializer”。
<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.xyz.rest</groupId>
    <artifactId>onlineshopping</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>onlineshopping</name>

    <build>
        <finalName>onlineshopping</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <inherited>true</inherited>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.glassfish.jersey</groupId>
                <artifactId>jersey-bom</artifactId>
                <version>${jersey.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-servlet-core</artifactId>
            <!-- use the following artifactId if you don't need servlet 2.x compatibility -->
            <!-- artifactId>jersey-container-servlet</artifactId -->
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.inject</groupId>
            <artifactId>jersey-hk2</artifactId>
        </dependency>
        <!-- uncomment this to get JSON support
        <dependency>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-json-binding</artifactId>
        </dependency>
        -->
    </dependencies>
    <properties>
        <jersey.version>3.0.2</jersey.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
</project>

共有1个答案

钱浩荡
2023-03-14

对于第一个问题:

  1. 右键单击您的项目
  2. 单击属性
  3. 单击目标运行时
  4. 刻度标记Apache Tomcat V10.0
  5. 单击应用并关闭

对于第二个问题:在build->plugins的pom.xml文件中添加以下插件

<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>3.2.2</version>
</plugin>
<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.xyz.rest</groupId>
    <artifactId>onlineshopping</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>onlineshopping</name>

    <build>
        <finalName>onlineshopping</finalName>
        <plugins>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.2.2</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <inherited>true</inherited>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.glassfish.jersey</groupId>
                <artifactId>jersey-bom</artifactId>
                <version>${jersey.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-servlet-core</artifactId>
            <!-- use the following artifactId if you don't need servlet 2.x compatibility -->
            <!-- artifactId>jersey-container-servlet</artifactId -->
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.inject</groupId>
            <artifactId>jersey-hk2</artifactId>
        </dependency>
        <!-- uncomment this to get JSON support
        <dependency>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-json-binding</artifactId>
        </dependency>
        -->
    </dependencies>
    <properties>
        <jersey.version>3.0.2</jersey.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
</project>
 类似资料:
  • 首先,我们新建一个目录 myblog,在该目录下运行 npm init 生成一个 package.json,如下所示: 注意:括号里的是默认值,如果使用默认值则直接回车即可,否则输入自定义内容后回车。 然后安装 express 并写入 package.json: npm i express@4.14.0 --save 新建 index.js,添加如下代码: const express = requ

  • 首先,我们新建一个目录 myblog,在该目录下运行 npm init 生成一个 package.json,如下所示: 注意:括号里的是默认值,如果使用默认值则直接回车即可,否则输入自定义内容后回车。 然后安装 express 并写入 package.json: npm i express@4.14.0 --save 新建 index.js,添加如下代码: var express = requi

  • 我正试图将我的Gradle项目导入到中,但是当单击“构建模型”时,我遇到了下面的错误 我使用的是Eclipse Mars、Gradle 2.13、Gradle IDE Pack3.7.x和JDK 1.8。

  • 我正在做一个Gradle项目。当我做时,该项目会下载依赖项并运行得非常好。这是我的build.gradle文件: 现在我想在Intellij IDEA中导入项目。 导入Gradle项目 然而,当我点击OK时,它会出现一个对话: 无法初始化类javax.crypto.SunJCE_b 看日志上面写着 我不知道如何让这个项目运作起来。如果没有这个,我从外部存储库导入的所有内容都无法在IDEA内部工作(

  • 我正在尝试使用Spring开发Rest代码。 我的MongoDAO类如下所示 但我得到的错误是.. 原因:org . spring framework . beans . factory . beancreationexception:创建在文件[C:\ Users \ user \ Desktop \ ITAU \ 77 \ ABC-iCOE-WAL \ ItauBankingTransac s

  • 问题内容: 我有一个初始化为的变量: 问题是,在某个时候,我需要重置此变量,以便在更改后可以再次初始化。但是如果我将类设置为可选的话,LLVM在尝试将它设置为时会给我一个错误。如果我只是使用将其重置在代码中的某个位置,它将最终显示为。 有没有一种方法可以使用并允许自己重置? 问题答案: 懒惰是明确的仅一次初始化。您要采用的模型可能只是按需初始化模型: 现在,只要是,它会被初始化并返回。可以通过设置