2_10关于重新安装tomcat

中午发现tomcat里面jar包好像少了因为cmd也打不开只能重新下,后来发现不是少了只是合并jar包了,因此端口号也得重新修改,但是第一次没想到,所以localhost8080一直打不开,修改后还是打不开,原因是java文件和xml配置文件解释重复了,删掉一个就好了。



还有就是classes下只能放class编译文件,不能放java文件不符合规定。

所以编译的时候需要cmd手动指定路径

复制代码
javac -encoding UTF-8 -cp "E:\apache-tomcat-11.0.18-windows-x64\apache-tomcat-11.0.18\lib\servlet-api.jar" -d "E:\apache-tomcat-11.0.18-windows-x64\apache-tomcat-11.0.18\webapps\crm\WEB-INF\classes" HelloCRMServlet.java

javac -encoding UTF-8 -cp "E:\apache-tomcat-11.0.18-windows-x64\apache-tomcat-11.0.18\lib\servlet-api.jar" -d "E:\apache-tomcat-11.0.18-windows-x64\apache-tomcat-11.0.18\webapps\crm\WEB-INF\classes" HelloCRMServlet.java

命令片段 作用解释 你的场景说明
javac Java 编译器的核心指令,用于将.java源文件编译为.class字节码文件 必须先确保 JDK 的bin目录在系统Path里,否则 CMD 找不到javac
-encoding UTF-8 指定源文件的编码格式为 UTF-8 解决中文乱码问题(你的代码里有中文,必须加)
-cp "servlet-api.jar路径" -cp = classpath(类路径),告诉编译器去哪里找依赖的类(比如 Servlet 相关的HttpServlet servlet-api.jar是 Tomcat 提供的 Servlet 核心包,你的代码继承了HttpServlet,必须让编译器找到这个包
-d "目标路径" 核心参数! -d = destination(目标目录),指定编译后.class文件的输出路径,且会根据 Java 文件的package自动创建多级目录 你指定的目标路径是 Tomcat 的crm/WEB-INF/classes,编译器会根据com.crm.servlet的包名,自动在这个路径下创建com/crm/servlet三级文件夹,把class文件放进去
HelloCRMServlet.java 要编译的 Java 源文件名称(如果源文件不在当前 CMD 目录,需要写完整路径,比如H:\大二大作业\Java_prc\src\com\crm\servlet\HelloCRMServlet.java 你在源文件所在目录执行命令,所以直接写文件名即可

如果不写-d参数,javac会默认把.class文件编译到当前 CMD 所在目录 (和.java源文件同目录);加上-d 目标路径后,编译器会把.class文件输出到你指定的目标路径,而非源文件目录。

相关推荐
苏瞳儿2 分钟前
创建后端项目-连接MySql并运行成功
java
菜鸟小九16 分钟前
JUC(共享模型之管程、synchronized、wait、park、活跃性、renetrantlock、条件变量)
java·开发语言·juc
kongba00716 分钟前
学习COZE编程 / LangGraph 通用工作流项目 提示词模板
java·网络·学习
程序员阿明21 分钟前
spring boot3识别PDF图纸
java·spring boot·后端·pdf
blxr_27 分钟前
Spring AI自定义Advisor
java·spring
kisloy29 分钟前
【反爬虫】极验4 W参数逆向分析
java·javascript·爬虫
-Rane31 分钟前
【C++】红黑树
java·开发语言
吃不胖爹43 分钟前
Sharding-JDBC只分表不分库
java
yaaakaaang1 小时前
十三、责任链模式
java·责任链模式
爱吃烤鸡翅的酸菜鱼1 小时前
【Java】封装位运算通用工具类——用一个整数字段替代几十个布尔列,极致节省存储空间
java·开发语言·设计模式·工具类·位运算·合成复用原则