对于单个文件的且不引用其他类文件的java源码用javac编译大家都很熟悉即 javac hello.java,
服务器未安装idea,现在在服务器里面直接编译src目录
1 idea项目结构如下
2 web目录为最终部署的代码
WEB-INF下面没有 classes 目录
3 使用javac 编译src
javac -encoding utf-8 -Djava.ext.dirs=/www/server/tomcat8/sw_project/booksalessm/web/WEB-INF/lib -sourcepath "/www/server/tomcat8/sw_project/booksalessm/src" -cp "/www/server/tomcat8/lib/servlet-api.jar" /www/server/tomcat8/sw_project/booksalessm/src/com/*/*.java
因为 次项目 com下面 只有一层目录,所以/com/*/*.java 包含了所有java
其中
-encoding 指定的源码文件的存储编码,不指定则使用系统默认编码,这里我们使用UTF-8字符编码存储,因此指定UTF-8
-Djava.ext.dirs 指定lib目录
-sourcepath 指定源码根目录,javac将会根据包名自动定位到相应的目录,例如com.xxnote.test对应的是/www/server/tomcat8/sw_project/booksalessm/src/目录
-cp 指定查找引用到的jar包里面类的jar文件目录,这里是普通的servlet-api.jar
/www/server/tomcat8/sw_project/booksalessm/src/com/*/*.java 指的是所有需要编译的文件
4 运行之后生成 *.class
5 复制src目录至 web/WEB-INF 下面改名为classes ,删除里面的.java源码
6 把整个web目录下面的代码复制到 tomcat /webapps/ROOT/ 目录下面
此处为 /www/server/tomcat8/webapps/ROOT/WEB-INF, 重起tomcat 项目完美运行。