尝试从命令行构建并生成 WAR 文件

2023-12-10

我的文件夹布局是:



/web-inf/web.xml
/web-inf/classes/
  

你好世界.java:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet{ 
  public void doGet(HttpServletRequest request, 
  HttpServletResponse response)
  throws ServletException,IOException{
  response.setContentType("text/html");
  PrintWriter pw = response.getWriter();
  pw.println("<html>");
  pw.println("<head><title>Hello World</title></title>");
  pw.println("<body>");
  pw.println("<h1>Hello World</h1>");
  pw.println("</body></html>");
  }
}

我想做以下事情:

  1. 通过命令行构建一切
  2. 使用 .war 文件发布到 Tomcat 的 webapps 目录

我应该把我的放在哪里HelloWorld.java文件,以及如何使用命令行编译它? 我相信的输出HelloWorld.java进入/classes/ folder.

那么我如何生成.war file?

我尝试像这样手动编译:


javac HelloWorld.java  

我遇到了与导入相关的错误,即它在我的路径中找不到库。是否需要下载 Java EE 库并将其添加到我的路径中?


您的代码依赖于 servlet API,该 API 不在核心 Java 库中。您需要将其添加到您的类路径中:

javac -classpath $TOMCAT_HOME/lib/servlet-api.jar yourpackage/HelloWorld.java

WAR 与 JAR 共享相同的文件格式(带有 UTF-8 文件名的 ZIP)。通常,您可以使用 ZIP 实用程序来处理它们。

WAR 结构可能如下所示:

index.html
foo.jsp
WEB-INF/classes/yourpackage/HelloWorld.class
WEB-INF/web.xml

以上假设您有一个package yourpackage;.java 文件中的声明。应避免使用默认包。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试从命令行构建并生成 WAR 文件 的相关文章

随机推荐