打成jar包 在命令行下执行java工程

来自转载http://blog.csdn.net/fengyun111999/article/details/5787125

将java工程打成jar包,但第三方jar包并没有包含在包中,当在命令行中运行jar包时,出现类找不到的异常,
在网上看到解决办法是将第三方jar包放到JDK的扩展类文件夹中(%JAVA_HOME%/jre/lib/ext),
再运行,还是出现同样的错误,我的java工程要调用webservice,webservice工程中也用到了相同的jar包,
在启动服务器的时候,不能正确部署webservice,应该是webservice工程中的jar包和JDK中的jar包有了冲突。

通过不断地试验,终于成功了,步骤如下:
1、新建文件夹test位于D盘;
2、将用到的所有第三方jar包放在文件夹lib下,再将lib放在test下;
3、导出的java工程jar包a.jar也放在test下;
4、修改工程jar包META-INF文件夹下的MANIFEST.MF配置文件:
Manifest-Version: 1.0
Main-Class: cn.golaxy.yqpt.client.main.GatherMain
Class-Path: lib/soapmonitor-1.5.jar lib/spring-aop.jar
写明main函数的包路径(注意:冒号后加一个空格)!
在class-path后写上引用到的所有jar包(注意:要分行写,并不是说一行写一个jar包,只要保证这一行不要太长就好,否则会出现Exception in thread "main" java.io.IOException: line too long
at java.util.jar.Attributes.read(Attributes.java:356)
at java.util.jar.Manifest.read(Manifest.java:167)
at java.util.jar.Manifest.<init>(Manifest.java:52)
at java.util.jar.JarFile.getManifest(JarFile.java:158)
异常,换行时前面加两个空格,最后还有一个回车)!
5、将修改好的MANIFEST.MF文件覆盖掉原来的;
6、在命令行下执行jar包:java -jar a.jar。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,当将项目导出为JAR包时,静态文件通常无法直接通过下载获取到。这是因为JAR包是一种用于存储和分发Java类文件和一些资源文件的压缩文件格式,它的目的是将所有的类文件和资源文件打包在一个文件中,以方便在不同的环境中使用。 当使用JAR包时,通常会在代码中使用相对路径来访问文件。但是,JAR包中的文件在运行时会被放置在一个类路径中,它们并不是一个独立的文件系统目录,因此无法通过常规的文件下载方式来访问。 如果您想要下载JAR包中的静态文件,您可以考虑以下几种方式: 1. 将静态文件从JAR包中解压出来:您可以使用一些解压软件或命令行工具来解压JAR包,将其中的静态文件提取到指定的目录中。然后,您可以通过常规的文件下载方式来获取它们。 2. 将静态文件放置在JAR包外部:您可以将静态文件放置在与JAR包相同的目录下,或者与JAR包所在的服务器的任意其他可访问目录下。然后,您可以通过常规的文件访问方式来下载静态文件。 3. 使用类加载器加载静态文件:在Java中,您可以使用类加载器来获取JAR包中的资源文件。通过使用`ClassLoader.getResourceAsStream(String name)`方法,您可以获取到指定名称的资源文件的输入流。然后,您可以将输入流中的数据以文件形式输出,从而实现下载静态文件的功能。 总而言之,由于JAR包的特性,直接通过下载方式来获取其中的静态文件是不容易实现的。但是,通过适当的方法,您仍然可以获取到JAR包中的静态文件,并实现下载的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值