java程序打成jar包 如何处理第三方jar包
现在有一j2se程序,依赖于jdk1.5、poi.jar、commons-lang.jar。打成jar包后,依赖于jdk的部分代码是可以执行的。但是依赖于poi.jar、...
现在有一j2se程序,依赖于jdk1.5、poi.jar、commons-lang.jar。
打成jar包后,依赖于jdk的部分代码是可以执行的。但是依赖于poi.jar、commons-lang.jar这两个包的程序没有办法执行。
我知道是因为在classPath中无法找到上述两个包的缘故。但不希望每次都通过设置classpath的方式去运行这个jar程序。
请问通过什么样的打包办法可以让程序不用设置classpath而找到其所依赖的第三方jar包。谢谢javaeyer能予以指导! 展开
打成jar包后,依赖于jdk的部分代码是可以执行的。但是依赖于poi.jar、commons-lang.jar这两个包的程序没有办法执行。
我知道是因为在classPath中无法找到上述两个包的缘故。但不希望每次都通过设置classpath的方式去运行这个jar程序。
请问通过什么样的打包办法可以让程序不用设置classpath而找到其所依赖的第三方jar包。谢谢javaeyer能予以指导! 展开
4个回答
展开全部
在eclipse中你可以通过方式解决你的问题:
在eclipse的package explorer视图中点击项目工程邮件,选择“导出...”,再找到Java目录下的“Runnable JAR file”点击下一步,这个时候就是关键的地方了。在"Library handling"中有一个选项"Extract required libraries into generated JAR",这句话就是说“解压需要的包到生成的jar文件中去”。勾上这个选项以后,在将java工程打包的时候就会把依赖的jar包打到你的目标jar文件中去。
java的运行依赖java虚拟机以及第三方的很多jar库,在独立运行的时候必须要在classpath中找到这个些类库方能运行。
在eclipse的package explorer视图中点击项目工程邮件,选择“导出...”,再找到Java目录下的“Runnable JAR file”点击下一步,这个时候就是关键的地方了。在"Library handling"中有一个选项"Extract required libraries into generated JAR",这句话就是说“解压需要的包到生成的jar文件中去”。勾上这个选项以后,在将java工程打包的时候就会把依赖的jar包打到你的目标jar文件中去。
java的运行依赖java虚拟机以及第三方的很多jar库,在独立运行的时候必须要在classpath中找到这个些类库方能运行。
展开全部
那就只能把你需要的jar包都一起打到你jar包里面了,但是这样可能到导致jar包比较大。
我不知道你是如何打jar包的,我使用eclipse开发,使用一个叫做fat jar的插件进行打包,打包的时候它会问你你要把那些用到的第三放jar包打到你的jar包里面,这个时候你就可以选择了,我曾经写过一个jar是连接SAP,从SAP把数据读到oracle数据库,所以我的jar包就包括sapjco.jar和classes12.jar,工作的很好。
不推荐用命令行打包,挺麻烦容易出错,老板总是希望你快快干完活而不是自己练手。
我不知道你是如何打jar包的,我使用eclipse开发,使用一个叫做fat jar的插件进行打包,打包的时候它会问你你要把那些用到的第三放jar包打到你的jar包里面,这个时候你就可以选择了,我曾经写过一个jar是连接SAP,从SAP把数据读到oracle数据库,所以我的jar包就包括sapjco.jar和classes12.jar,工作的很好。
不推荐用命令行打包,挺麻烦容易出错,老板总是希望你快快干完活而不是自己练手。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没办法的,肯定要导入包的啊~
你想让java程序自己找到包,这个有点异想天开,不过也不是没有可能
除非你自己把ClassLoader的工作,加载类(poi.jar、commons-lang.jar)的工作你自己写代码实现,这样肯定没问题
你想让java程序自己找到包,这个有点异想天开,不过也不是没有可能
除非你自己把ClassLoader的工作,加载类(poi.jar、commons-lang.jar)的工作你自己写代码实现,这样肯定没问题
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实有一个比较恶心的方法,就是你把你需要的那两个包都解压,然后将里面的class文件全部添加到jdk1.5的包中,这样就不用再配置classpath就可以自行查到,但是还是不建议这样做,作为程序员,我觉得还是遵循原则比较好,其实就是配置一下环境变量没有什么难度啊,还可以在熟练一下...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询