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

相关推荐
贾斯汀玛尔斯3 小时前
每天学一个算法--LSM-Tree(Log-Structured Merge Tree)
java·算法·lsm-tree
bitt TRES3 小时前
springboot与springcloud对应版本
java·spring boot·spring cloud
Y001112364 小时前
JavaWeb-end
java·servlet·web
bzmK1DTbd4 小时前
Git版本控制:Java项目中的分支管理与合并策略
java·开发语言·git
JWASX6 小时前
【RocketMQ 生产者和消费者】- 事务源码分析(1)
java·rocketmq·java-rocketmq
AlunYegeer7 小时前
JAVA,以后端的视角理解前端。在全栈的路上迈出第一步。
java·开发语言·前端
DFT计算杂谈8 小时前
自动化脚本一键绘制三元化合物相图
java·运维·服务器·开发语言·前端·python·自动化
2301_771717218 小时前
Spring Boot 自动配置核心注解
java·spring boot·mybatis
小Y._8 小时前
面试被问synchronized锁升级,这5个问题答不上来直接挂!
java
姚青&9 小时前
测试技术体系
java·python