再说一下Java里面的路径问题,CLASSPATH和SOURCEPATH

javac错误: 找不到符号或程序包XXX不存在 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar 阅读详情

java的路径让许多人,特别是初学者感到迷惑,我这里再解释一下。我们分2个阶段,1是编译阶段,2是运行阶段。


一、编译阶段

  这个时候,我们要提供给编译器的有2个路径参数,第一个是源代码在哪里?也就是 sourcepath,第二个就是依赖的类在哪里?也就是 classpath


我们看一个例子


d:/temp/TestCP/d1/p1/Class1.java




d:/temp/TestCP/d2/p2/Class2.java


编译的时候,我们先在 d:/temp/testCP/d1 编译Class1

D:/temp/testCP/d1>javac p1/Class1.java


编译成功


然后我们在 d:/temp/testCP/d2 下编译 Class2。有2个方法进行编译:

第一:指定源文件 sourcepath

D:/temp/testCP/d2>javac -sourcepath .;../d1 p2/Class2.java


第二:指定classpath

D:/temp/testCP/d2>javac -sourcepath . -cp ../d1 p2/Class2.java


两个方法都能达到我们需要的效果。也就是说,在路径里,系统会在其下面根据package自动寻找源文件或者class文件的。


另一个情况,如果我们需要某个类库的支持,比如jar文件,那么我们就不能只包含路径就行了,而是应该包含整个路径和文件名,比如

D:/temp/testCP/d2>javac -sourcepath . -cp ../d1;d:/lib/spring.jar p2/Class2.java


第二、在运行时

我们需要指定其他的class在哪里,以及我们需要的类库在哪里,所以运行命令应该是


D:/temp/testCP/d2>java -cp .;../d1;d:/lib/spring.jar p2.Class2
Class1



总结:

路径分为2种,如果是jar或者zip形式的,那么必须包含完整的路径和文件名,大小写都不能错。

如果是class文件,那么只需要包含路径就行了。



关于javac 与 java,编译 运行的包路径问题 前言 文件目录树 注意着几个java文件都没又定义包名,但是他们都不在统一路径的问题 Test.java public class Test{ public static void main(String[] args){ try{ Class c = Class.forName(args[0]); A w = (A)c.newInstance(); w.go("aaaa"); } catch(Exception e){ e.printStackTra. 阅读详情

相关推荐

GPL vs MIT:独立开发者选择开源协议的法律与商业考量

你可能听过这样的故事:某个开发者用业余时间写了个超好用的工具库,开源后被某大厂悄悄集成到闭源产品里赚得盆满钵满,开发者却连杯奶茶钱都没拿到;也可能听说过另一个案例:开发者选了GPL协议,结果用户修改代码后必须开源,反而推动项目社区快速壮大,最终靠技术服务赚到了钱。这些故事的核心矛盾,都源于开源协议的选择。对于独立开发者(尤其是单枪匹马写代码的个人或小团队),开源协议不是“随便选一个就行”的小事——它是代码的“使用说明书”,更是保护自身权益、规划项目未来的关键工具。

AI天才研究院 1181

PL SQL中通过Java Source获取文件列表

CREATE GLOBAL TEMPORARY TABLE XXC.XXCFND_DIRLIST_TEM ( FILENAME VARCHAR2(255), FILESIZE NUMBER, FILEDATE DATE ) ON COMMIT DELETE ROWS; CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED xxcfnd_get...

AntsTribe的博客 647

Ubuntu22.04通过DKMS包安装Intel WiFi系列适配器(网卡驱动)

Ubuntu安装Intel WiFi系列适配器(网卡驱动)

lu_linux的博客 2602

PL/SQL调用java方法

最近项目中有一个需求,要把一部分业务逻辑从Java实现放到数据库端,用PL/SQL实现。 普通业务逻辑倒还好,实现起来没有太大问题。但是有一部分比较复杂的逻辑,用PL/SQL写起来比较复杂。 尤其是一大部分共通功能。 调查了一下,可以用PL/SQL调用java写的方法。记录一下造作流程,以免忘记了。 1,利用第三方工具把JAVA类导入数据库中 推荐:sqldeveloper 工具上有个 Java ->java导入 导入的时候,删除 package xx.xx.x......

dang 2044

保姆级拆解:HP 1312NF/CM1415打印机进纸离合器清洁与更换全记录(附B站/油管视频指路)

本文详细记录了HP 1312NF打印机进纸离合器故障的诊断与修复全过程,包括故障判断、工具准备、拆解步骤、清洁更换技巧及预防措施。特别针对离合器内部海绵老化粘连问题,提供了电工胶布和硬纸片两种实用替代方案,并附有B站/油管视频指路,帮助用户轻松完成打印机维修。

weixin_31102231的博客 377

树莓派教程(基于python编程)--入门篇

一:格式化SD卡 SD卡插入读卡器连接电脑,使用SDFormatter对SD卡进行格式化 (重装烧录也要进行着SD卡格式化操作) 二:下载官方镜像 http://downloads.raspberrypi.org/raspbian_latest 三:烧录SD卡 使用Win32DiskImager将镜像烧录到格式化后的SD卡 SD卡盘根目录(/boot)下新建一个命名为ssh的...

qq_42109746的博客 6万+

pl/sql java_oracle PL/SQL调用Java生成Excel

现在有个需求, 要求编写oracle存储过程生成Excel文件到指定目录, 但是oracle自己的API貌似不太给力, 所以只能通过另一种更强大的语言来实现了 ——Java。有一个Java框架叫POI,处理Excel起来非常好用,现在我把过程记录下来:一、下载POI的jar包我的测试数据库的版本是11g, 所以下载的jar包不能太新,否则导入jar包的时候会报版本错误, 但又产生了一个问题...

weixin_34544309的博客 237

紫光同创PGL50H开发板实战:盘古50KH视频板的多媒体处理与高速通信方案

本文详细介绍了基于紫光同创PGL50H FPGA芯片的盘古50KH视频开发板在多媒体处理与高速通信方面的实战应用。文章从开发板硬件架构解析入手,逐步指导开发环境搭建、DDR3内存控制器配置、HDMI视频输入输出实战,并重点探讨了利用板载HSST高速收发器实现光纤通信与万兆以太网的方案。最后,通过构建一个集多路视频采集、处理与光纤传输于一体的系统案例,展示了该开发板在高性能实时数据处理领域的强大潜力。

b9c0d的博客 486

编译程序(javac)与SOURCEPATH

2.2 管理原始码与位码文档 来观察一下目前你的C:\workspace,原始码(.java)文档与位码文档(.class)都放在一起,想象一下,如果程序规模稍大,一堆.java与.class文档还放在一起,会有多么混乱,你需要有效率地管理原始码与位码文档。 2.2.1 编译程序(javac)与SOURCEPATH 首先必须解决原始码文档与位码文档都放在一起的问题。请将光盘中la

波塞冬 727

springboot&mybatis中数组和字符串数据类型的转换

/前端数组字段//数据库中字段/*与前端交互时使用的get/set*/System.out.println("接收前端数据");/*与前端交互时使用的get/set*//*与数据库交互时使用的get/set*/System.out.println("从数据库中读取数据");/*与数据库交互时使用的get/set*/

l_q_l的专栏 2476

【Python_Zebra斑马打印机编程学习笔记(二)】基于BarTender将btw文件转换为zpl文件

本文介绍如何基于 BarTender 软件将 btw 格式的文件转换为 zpl 格式的文件,有需要的读者可以点赞收藏,也欢迎在评论区进行讨论。

禾戊之昂的博客 3378

java编译时的sourcepath选项

java编译时的sourcepath选项

听海边涛声 447

45、概率与模糊性:粗糙事件与模糊事件概率的探索

本文探讨了概率理论与模糊性理论在处理现实世界不确定性中的应用,重点分析了模糊事件和粗糙事件的概率定义、性质及其条件概率。同时,介绍了近似贝叶斯网络分类器在信息系统中的应用,以及如何通过概率决策约简提高分类效率。这些方法为处理不确定信息提供了灵活的工具,并在决策和数据分析中具有重要价值。

ik67890123的博客 135

java sourcepath_说一下Java里面的路径问题,CLASSPATH和SOURCEPATH

说一下Java里面的路径问题,CLASSPATH和SOURCEPATHjava的路径让许多人,特别是初学者感到迷惑,我这里再解释一下。我们分2个阶段,1是编译阶段,2是运行阶段。一、编译阶段这个时候,我们要提供给编译器的有2个路径参数,第一个是源代码在哪里?也就是 sourcepath,第二个就是依赖的类在哪里?也就是 classpath我们看一个例子d:\temp\TestCP\d1\p1\Cl...

weixin_39829497的博客 394

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Java里面的路径问题,CLASSPATH和SOURCEPATH

java的路径让许多人,特别是初学者感到迷惑,我这里再解释一下。我们分2个阶段,1是编译阶段,2是运行阶段。  一、编译阶段   这个时候,我们要提供给编译器的有2个路径参数,第一个是源代码在哪里?也就是 sourcepath,第二个就是依赖的类在哪里?也就是 classpath  我们看一个例子  d:/temp/TestCP/d1/p1/Class1.java

lijie1051的专栏 1164

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

说一下Java里面的路径问题,CLASSPATH和SOURCEPATH

java的路径让许多人,特别是初学者感到迷惑,我这里再解释一下。我们分2个阶段,1是编译阶段,2是运行阶段。  一、编译阶段   这个时候,我们要提供给编译器的有2个路径参数,第一个是源代码在哪里?也就是 sourcepath,第二个就是依赖的类在哪里?也就是 classpath  我们看一个例子  d:/temp/TestCP/d1/p1/Class1.java

Lee Cheung的专栏 594

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

JAVA classpath问题 及 带包编译

错误:  Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld  这个就是classpath问题。 classpath即类路径就是指明去哪里找用到的类。由于我们的 HelloWorld没用到其它的(非java.lang包中的)类,所以编译时没遇到这个问题。运行  时呢,就要指明你的类在哪里了。解决方法

1292765944的专栏 1584

javac和java的路径问题

javac和java的路径问题 设定项目目录为packageTest,举三个例子来讨论javac和java两个命令对路径的要求。 例1: javac的搜索根目录为当前目录,例如,在test下建立如下目录:aaa/bbb/ccc,再在test下建立一个文件:Main.java,内容如下: view plaincopy to clipboardprint? 1. package aaa.b...

talentluke的专栏 973

javac单独编译java文件

问题引入: 在工作当中因为部署好的代码有可能只有几行代码可以修改,这时候如果仍然在idea上面修改好后,打包再部署,那感觉太麻烦又费时间。因此想在线上服务器上面直接通过javac编译的方式编译单个文件即可。

3615

使用javac命令行手动编译servlet小程序

虽然现在现在关于java的IDE已经非常的成熟了,但是我还是想从最原始的方式开始学习java,于是这次使用了记事本和cmd命令行方式编译一个小的servlet程序。 遇到的麻烦最郁闷的就是在编译servlet时候,需要使用到Tomcat的servlet-api.jar的类包。这个包一般位于Tomcat\lib目录下,javac -classpath时候将这个类包引用。但是问题来了,每当我...

xc8708的专栏 431

javac参数(-classpath, -sourcepath)详解

首先是官方说法:-classpath:设置用户类路径,它将覆盖 CLASSPATH 环境变量中的用户类路径。若既未指定 CLASSPATH 又未指定 -classpath,则用户类路径由当前目录构成。 -sourcepath:指定用以查找类或接口定义的源代码路径。与用户类路径一样,源路径项用分号 (;) 进行分隔,它们可以是目录、JAR 归档文件或 ZIP 归档文件。如果使用包

邹德强(CaesarZou)的专栏 3万+

javac参数(-classpath,-sourcepath)详解

javac参数(-classpath,-sourcepath)详解   首先是官方说法: -classpath: 设置用户类路径,它将覆盖CLASSPATH 环境变量中的用户类路径。若既未指定CLASSPATH 又未指定-classpath,则用户类路径由当前目录构成。   -sourcepath: 指定用以查找类或接口定义的源代码路径。与用户类路径一样,源路径项用分号 (;)进行分

zq_zhang的专栏 3665

java sourcepath,javac的classpath和sourcepath选项之间的差异

I read the Sun documentation and a lot of posts on Stack Overflow, but I'm still confused about the differences between the Java compiler options -cp and -sourcepath.Let say I have this directory stru...

weixin_39916511的博客 254

java sourcepath_javac -classpath和-sourcepath的区别

今天在看Apache Ant的"Tutorial: Hello World with Apache Ant"一文的时候,对javac和java命令的用法不是很理解。于是,又检索到了下面这篇文章,全文转自 “Using classpath and sourcepath"。链接:Setting The CLASSPATHThe CLASSPATH setting can be used to set ...

weixin_35937871的博客 293
上一篇: 新单位技术支持工作一年的最大感受
下一篇: 两次发布操作太快了,请等 20 秒钟再试
老紫竹
博客等级 码龄19年 1万+粉丝 1252原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值