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文件输出到你指定的目标路径,而非源文件目录。

相关推荐
tgethe1 小时前
java并发——1
java·开发语言·面试
coder_zh_1 小时前
Java基础-学习-面试-校招-要点突击检查
java
郑州光合科技余经理1 小时前
海外O2O系统源码剖析:多语言、多货币架构设计与二次开发实践
java·开发语言·前端·小程序·系统架构·uni-app·php
工程师老罗8 小时前
Image(图像)的用法
java·前端·javascript
leo_messi948 小时前
2026版商城项目(一)
java·elasticsearch·k8s·springcloud
美味蛋炒饭.8 小时前
Tomcat 超详细入门教程(安装 + 目录 + 配置 + 部署 + 排错)
java·tomcat
dreamxian8 小时前
苍穹外卖day11
java·spring boot·后端·spring·mybatis
Veggie268 小时前
【Java深度学习】PyTorch On Java 系列课程 第八章 17 :模型评估【AI Infra 3.0】[PyTorch Java 硕士研一课程]
java·人工智能·深度学习
weisian1518 小时前
Java并发编程--19-ThreadPoolExecutor七参数详解:拒绝Executors,手动掌控线程池
java·线程池·threadpool·七大参数
csdn5659738509 小时前
Java打包时,本地仓库有jar 包,Maven打包却还去远程拉取
java·maven·jar