javac编译web项目中的src

news2024/10/5 16:30:49

对于单个文件的且不引用其他类文件的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 项目完美运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1662370.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nachi那智不二越机器人维修技术合集

一、Nachi机械手维护基础知识 1. 定期检查:定期检查机器人的各个部件,如机械手伺服电机、机器人减速器、机械臂传感器等,确保其运行正常。 2. 清洁与润滑:定期清洁Nachi工业机器人表面和内部,并使用合适的润滑油进行润…

在线旅游网站,基于 SpringBoot+Vue+MySQL 开发的前后端分离的在线旅游网站设计实现

目录 一. 前言 二. 功能模块 2.1. 登录界面 2.2. 管理员功能模块 2.3. 用户功能模块 三. 部分代码实现 四. 源码下载 一. 前言 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势,旅游网站当然…

OpenHarmony usb打开报错“usb fail error code = -3, error msg = LIBUSB_ERROR_ACCESS”

一、前言:最近公司项目需求,定位要求使用国产系统,国产系统无非就是 统信os ,麒麟OS, 还有这两年比较热的 OpenHarmony。于是,老板要求公司产品适配OpenHarmony , 跟上时代步伐。 二、在开发中使用 usb 通讯时&#x…

党务政务服务热线|基于SSM的党务政务服务热线平台(源码+数据库+文档)

目录 基于SprinBootvue的党务政务服务热线平台 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2后台功能模块 5.2.1管理员功能模块 5.2.2部门功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: …

Ubuntu搭建VsCode C++ 开发环境

Ubuntu搭建VsCode C 开发环境 安装VS Code 使用命令来安装VS Code:他会下载vscode的最新版本。 sudo snap install --classic code如果不使用命令 的方式 在官网下载vscode安装包( 后缀为 .deb的包 )之后(可以选择版本 &#x…

克服 Prometheus 单值数据模型的局限性:GreptimeDB 的新路径

引言 Prometheus 已经成为监控和报警生态系统的基石,在高效、直接地处理实时指标(Metric)方面有着强大的表现。Prometheus 的核心是一个包含单个值和一系列标签的数据模型。这种设计在提升简单性和适应性的同时,也带来了一些挑战…

HarmonyOS NEXT星河版之美团外卖点餐功能实战(下)

文章目录 一、购物车逻辑1.1 购物车及加减菜1.2 菜品的加减---方案一1.3 菜品的加减---方案二1.4 购物车View完善1.5 清空购物车1.5 购物车数量和价格 二、小结 一、购物车逻辑 1.1 购物车及加减菜 在utils目录下新建CartStore.ets文件,如下: import …

Dubbo2.x迁移3.x过程及原理

Dubbo2.x迁移3.x过程及原理 1.Dubbo2.x迁移3.x1.1 快速升级步骤1.2 Provider 端升级过程详解1.2.1 双注册带来的资源消耗 1.3 Consumer 端升级过程1.3.1 APPLICATION_FIRST策略1.3.2 双订阅带来的资源消耗1.3.3 消费端更细粒度的控制 1.4 迁移状态的收敛1.4.1 不同的升级策略影…

一键局域网共享工具

一键局域网共享工具:实现文件快速共享的新选择 在数字化时代,文件共享已成为我们日常工作和生活中的重要需求。无论是在家庭还是在办公环境中,我们经常需要在不同的设备之间传输文件。为了满足这一需求,一键局域网共享工具应运而…

Leetcode—239. 滑动窗口最大值【困难】

2024每日刷题&#xff08;132&#xff09; Leetcode—239. 滑动窗口最大值 算法思想 用vector会超时的&#xff0c;用deque最好&#xff01; 实现代码 class Solution { public:vector<int> maxSlidingWindow(vector<int>& nums, int k) {deque<int> …

AI绘画的基本原理是什么?

目录 一、AI绘画的基本原理是什么&#xff1f; 二、Python中有几个库可以用于AI绘画&#xff1f; 三、OpenCV画一个人形 四、AI画的红苹果 一、AI绘画的基本原理是什么&#xff1f; AI绘画的原理基于机器学习和人工智能技术&#xff0c;通过这些技术模型能够理解文本描述并…

物联网D3——按键控制LED、光敏传感蜂鸣器

按键控制LED 按键抖动&#xff0c;电平发生变化&#xff0c;可用延时函数抵消按键抖动对系统的影响 传感器电路图 按键电路图 c语言对应类型 “_t”后缀表示使用typedef重命名的数据类型 枚举类型 #include<iostream> using namespace std; //定义枚举类型 typedef enu…

Ranger 面试题及答案整理,最新面试题

Ranger 的安全模型是如何设计的&#xff1f; Ranger的安全模型设计主要基于访问控制和安全策略的管理&#xff0c;它通过以下几个关键组件实现&#xff1a; 1、策略管理&#xff1a; Ranger 提供了一个中央管理平台&#xff0c;用于定义、更新和管理安全策略。这些策略根据资…

单链表经典oj题(2)

前言 这次将要把剩下的oj题将以图解和自己的理解把它讲解完&#xff0c;希望对大家有所帮助&#xff0c;这次的讲解也是干货 第一题 21. 合并两个有序链表 - 力扣&#xff08;LeetCode&#xff09; ok这次就简单点&#xff0c;大家自己去看题目了 将两个升序链表合并为一个…

如何使用 ERNIE 千帆大模型基于 Flask 搭建智能英语能力评测对话网页机器人(详细教程)

ERNIE 千帆大模型 ERNIE-3.5是一款基于深度学习技术构建的高效语言模型&#xff0c;其强大的综合能力使其在中文应用方面表现出色。相较于其他模型&#xff0c;如微软的ChatGPT&#xff0c;ERNIE-3.5不仅综合能力更强&#xff0c;而且在训练与推理效率上也更高。这使得ERNIE-3…

玩游戏专用远程控制软件

玩游戏专用远程控制软件&#xff1a;实现远程游戏的新体验 随着网络技术的不断发展和创新&#xff0c;远程控制软件已经逐渐渗透到我们生活的方方面面&#xff0c;尤其是在游戏领域。玩游戏专用远程控制软件&#xff0c;作为这一趋势下的产物&#xff0c;为玩家提供了全新的游…

Ubuntu安装库 版本问题,错误E: Unable to correct problems, you have held broken packages.

一、问题描述&#xff1a; Ubuntu系统指令安装 : sudo apt install -y build-essential提示&#xff1a; Reading package lists... Done Building dependency tree... Done Reading state information... Done Some packages could not be installed. This may mean that y…

win10 miniconda始终无法在指定的位置创建虚拟环境,原来是管理员权限问题

当我想用conda创建虚拟环境时 envs_dirs: F:\miniconda3\envsC:\Users\fengx.conda\envsC:\Users\fengx\AppData\Local\conda\conda\envs 创建的虚拟环境始终在C:\Users\fengx.conda\envs\xxxx这个位置下&#xff0c; 我已经明显指定了位置是在F:\miniconda3\envs下&#xff…

Java面试——MyBatis

优质博文&#xff1a;IT-BLOG-CN 一、MyBatis 与 JDBC 的区别 【1】JDBC 是 Java 提供操作数据库的 API&#xff1b;MyBatis 是一个持久层 ORM 框架&#xff0c;底层是对 JDBC 的封装。 【2】使用 JDBC 需要连接数据库&#xff0c;注册驱动和数据库信息工作量大&#xff0c;每…

【Java难点】多线程-高级

悲观锁和乐观锁 悲观锁 synchronized关键字和Lock的实现类都是悲观锁。 它很悲观&#xff0c;认为自己在使用数据的时候一定有别的线程来修改数据&#xff0c;因此在获取数据的时候会一不做二不休的先加锁&#xff0c;确保数据不会被别的线程修改。 适合写操作多的场景&…