【问题标题】:vscode setting tomcat 9 runtimevscode设置tomcat 9运行时
【发布时间】:2021-11-02 11:51:44
【问题描述】:

我正在尝试在 vscode(在 linux 上)下设置 Tomcat 9 开发环境(使用 maven)。我被部分功能所诅咒。每次我尝试,我都会得到不同的破碎变化......

我得出的结论是,这一切都归结为罐子的加入。我为 Java、Maven、Tomcat 等安装了 vscode 插件。环境可以正常工作。只是部分。

例如@WebServlet 无法解析为类型。但是 annotations-api.jar 在 Tomcat 9 lib 文件夹中...

谁能解释一下如何将 Tomcat 9 lib 文件夹添加为服务器运行时?

也许如果我对此有更好的理解,我可以修复我损坏的 Eclipse 安装...

【问题讨论】:

    标签: java tomcat visual-studio-code


    【解决方案1】:

    如果您当前的项目不使用构建工具,请将所需的 jar 添加到 Referenced Libraries

    如果您使用 maven,扩展 Maven for Java 还支持搜索 Maven Central 以解析源代码中的未知类型。您可以通过选择悬停时显示的 Resolve unknown type 链接来执行此操作,或者您可以从 Command Palette--> Maven: Add a dependency 中搜索所需的依赖项。

    详细信息请查看Add a jarMaven in VS Code

    【讨论】:

      【解决方案2】:

      我终于让它与下面的 pom.xml 一起工作了......

      经验教训:

      • Eclipse 为您做所有事情,在某种程度上使您免于包含库的繁琐任务。使用 vscode,需要自己动手。所以你可能会完全忘记导入一些重要的东西。
      • Tomcat 的错误消息在这两种情况下通常都不是很有用。
      • 尽管我不喜欢 Eclipse,但它确实为您做了很多有用的工作。 Vscode 还有很多工作......
      • 我非常喜欢 vscode。但是对于 Tomcat,它就没有那么强大了……

      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">
        <modelVersion>4.0.0</modelVersion>
      
        <groupId>example.com</groupId>
        <artifactId>test1</artifactId>
        <version>1.0</version>
        <packaging>war</packaging>
      
        <name>test1 Maven Webapp</name>
        <url>http://www.example.com</url>
      
        <properties>
          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
          <maven.compiler.release>11</maven.compiler.release>
        </properties>
      
        <dependencies>
      
          <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
            <scope>runtime</scope>
          </dependency>
      
          <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-servlet-api</artifactId>
            <version>9.0.50</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-el-api</artifactId>
            <version>9.0.50</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-websocket-api</artifactId>
            <version>9.0.50</version>
            <scope>provided</scope>
          </dependency>   
          <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>annotations-api</artifactId>
            <version>6.0.53</version>
            <scope>provided</scope>
          </dependency>
          <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jsp-api</artifactId>
            <version>9.0.50</version>
            <scope>provided</scope>
          </dependency>
          
      
          <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
          </dependency>
      
        </dependencies>
      
        <build>
          <finalName>test1</finalName>
          <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
            <plugins>
              <plugin>
                <artifactId>maven-clean-plugin</artifactId>
                <version>3.1.0</version>
              </plugin>
              <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.0.2</version>
              </plugin>
              <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
              </plugin>
              <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.1</version>
              </plugin>
              <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.2.2</version>
              </plugin>
              <plugin>
                <artifactId>maven-install-plugin</artifactId>
                <version>2.5.2</version>
              </plugin>
              <plugin>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.8.2</version>
              </plugin>
      
              <!-- Not sure how helpful this was... -->
              <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                  <contextFile>src/main/webapp/META-INF/context.xml</contextFile>
                </configuration>
              </plugin>
            </plugins>
          </pluginManagement>
        </build>
      </project>
      

      【讨论】:

        猜你喜欢
        • 2023-04-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-11
        • 1970-01-01
        • 2019-01-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多