java命令怎么运行一个包里的多个class文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java命令怎么运行一个包里的多个class文件相关的知识,希望对你有一定的参考价值。

在no2目录下有两个.java文件和一个class文件夹,class文件夹里有两个由.java文件编译得到的class文件,怎么运行这些class文件呢??

参考技术A 首先编译源程序(jdk配置好)找到你文件的位置,javac 文件名.java 然后 java 文件名就可以了 参考技术B 看一下,.java文件,public修饰的类是测试类,拥有程序执行的入口main方法。由这个测试类编译得到的class文件,可以运行。 参考技术C 在cmd下把你的光标指向那个文件夹,假设你的no2目录在c盘下
C:\no2\class>java 你编译的java文件的文件名本回答被提问者和网友采纳
参考技术D 直接java+类名.class,比如你的类名是HelloWorld,那么直接java HelloWorld.class

java工程打包部署到linux下根据url找jar包里的文件找不到,请教。

请教问题如下:

现本地windows环境程序解析后的url如下:
file:/E:/ainbs2_ln/html/WEB-INF/classes/com/syncdatamanage/bo/SyncDataLog.bo
传入某方法中进行解析,运行正常。

打包部署到linux上,url被解析成如下格式:
jar:file:/reward/syncdatamanage/ep-syncdatamanage.jar!/com/syncdatamanage/bo/SyncDataLog.bo
运行结果异常,找不到此bo文件。。。现可确认ep-syncdatamanage.jar包存在,并里面包含SyncDataLog.bo,路径也正确。

本人对linux不是很熟,请教各位~请不吝赐教,先谢谢了!

方法不对

你看,你第一个里没有jar出现.
file:/E:/ainbs2_ln/html/WEB-INF/classes/com/syncdatamanage/bo/SyncDataLog.bo
这相当于在本在磁盘里找文件,而不是jar里.
那这样,你的第二种方法就不对了.

URL url = getClass().getResource("/org/xxxxxxxx/bbbbb/cccccc");
你是这样的吗?
如果这样,是不对的,这样只是取得当前运行目录下的文件.

如果想得到jar文件里的文件,需要用
JarFile jar = new JarFile(file);
相当于解析压缩包的方式来找到文件.追问

您好,感谢您的热心回复,可否提供下qq。。这个问题还需要深入讨论下。。。

追答

白天用了不QQ,白天可以用百度hi,你留下QQ,晚上回去加你。
嗯,上面的回答可能有点问题,
我以前做的是将图片放到jar包里,做为资源文件使用。
我需要做的是列出资源列表,上面说的是如何解析。
----------------------------------------------------------------
如果想得到jar文件里的文件,需要用
JarFile jar = new JarFile(file);
相当于解析压缩包的方式来找到文件.
----------------------------------------------------------------

如果你能明确的知道文件的径,
还是使用。
URL url = getClass().getResource("/org/xxxxxxxx/bbbbb/cccccc");
如果造成了你的误解,表示报歉。

--------------------------------------------------------------------------------------------------
我输出了一下我的URL,如下

eclipse 下运行
/D:/Developer/eclipse-galileo/zazww/ZazwwApp/bin/org/torchgreen/zazww/picture/style/lotusflower.jpg

打成jar后运行
file:/E:/deploy/ZazwwApp.jar!/org/torchgreen/zazww/picture/style/lotusflower.jpg

再次对面回答的错误表示歉意。
不同的是我都是在windows下,回去后,找个linux虚拟机试一下。

追问

恩!好的 非常感谢,qq已经发给你了

追答

我的虚拟机,现在联不了网,
晚上我再搞搞

参考技术A 你怎么部署到linux下的。你把找jar包的命令亮出来

以上是关于java命令怎么运行一个包里的多个class文件的主要内容,如果未能解决你的问题,请参考以下文章

java classpath问题

怎么编译多个文件夹里的相关联的java包

在linux下,要更新一个jar包里的xml文件,命令怎么写?如何指定要替换的jar包中的路径?

java工程打包部署到linux下根据url找jar包里的文件找不到,请教。

mac编译java时生成class文件但运行时显示找不到或无法加载主类

Java 获取包所有class