将Jar文件与-classpath JAVA结合
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了将Jar文件与-classpath JAVA结合,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1317字,纯文字阅读大概需要2分钟。
内容图文
![将Jar文件与-classpath JAVA结合](/upload/InfoBanner/zyjiaocheng/695/639e7b717fb44135bd776f6284e70945.jpg)
我有一个关于编译在Jar文件(MyJar.jar)中具有一些依赖类的类的问题.通过将目录树放在-classpath选项中(例如:javac -cp MyJar MyClass.java),是否将检查所有子目录中的类或仅检查目录树中的顶级类?
提前致谢.
解决方法:
是否会递归搜索-cp指定的目录:否
当类加载器进入在类路径中指定的目录时,它将使用该类所在的包作为子目录开始.如果未指定包,则类加载器将其放在目录的直接子级(类文件)下.
它是-cp direcoties / jars和软件包名称的组合.
假设您具有以下目录结构
+ Project
sayhello.jar
+ dir
+ sub
+ com
+ test
SayHelloMain.java
类SayHelloMain.java的代码在哪里(请注意程序包声明)
package com.test;
import miscellaneous.so.SayHello;
public class SayHelloMain {
public static void main(String[] args) {
SayHello.sayIt();
}
}
以及包含类SayHello的jar文件sayhello.jar
如果在与Java源文件相同的目录中打开命令行,这就是编译类SayHelloMain的方式
javac SayHelloMain.java -cp ..\..\..\..\sayhello.jar
或者如果在目录项目中打开了命令行
javac dir\sub\com\test\SayHelloMain.java -cp sayhello.jar
假设您在目录项目中打开了命令行
这是运行类SayHelloMain的方式
java -classpath dir\sub;sayhello.jar com.test.SayHelloMain
类名必须完全合格,因此为com.test.SayHelloMain
命令
java -classpath dir;sayhello.jar com.test.SayHelloMain
将不会工作,因为未递归搜索目录目录
命令
java -classpath dir;sayhello.jar sub.com.test.SayHelloMain
由于没有sub.com.test此类软件包,因此也不起作用.包仅是在类的包声明中定义的包
内容总结
以上是互联网集市为您收集整理的将Jar文件与-classpath JAVA结合全部内容,希望文章能够帮你解决将Jar文件与-classpath JAVA结合所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。