Java工程打成jar包(此工程引用的jar包也打进去),并指定main方法执行该怎么做?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java工程打成jar包(此工程引用的jar包也打进去),并指定main方法执行该怎么做?相关的知识,希望对你有一定的参考价值。

最近做了个java工程,引用了第三方架包,现在需要将此工程打成jar包,并指定main方法,也就是说,可以双击直接运行,该怎么做才可以?MANIFEST.MF文件需要手工编辑吗?如果需要该怎么做?原工程中引用的架包也会一起打进去,也就是 jar in jar 这种情况需要额外处理吗?如果需要该怎么做?

    在项目上,右键,选择Export。

2.进入到下图界面,选择Java 下面的JAR file

3.选择项目,确认必要的文件是否选中,选择保存jar文件包的路径

4.完成步骤3之后,点击Next

5.直接点Next

6.直接点Finish,jar文件包完成

运行的话,直接把jar包放在项目的lib目录就可以了,如果不是web项目,可以bulidpath一下,就可以用了!

参考技术A 一、java项目没有导入第三方jar包
这时候打包就比较简单:
1. 首先在Eclipse中打开项目, 右键点击项目,选择“Export”;2. 选择Java/JAR file,Next;3. Select the resources to export中可以选择你想要包含的项目文件夹,一些不必要的文件夹就无需放进去了,免得增大空间;这里有几个选项: * Export generated class files and resources 表示只导出生成的.class文件和其他资源文件 * Export all output folders for checked projects 表示导出选中项目的所有文件夹 * Export java source file and resouces 表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了 * Export refactorings for checked projects 把一些重构的信息文件也包含进去在Select the export destination中选择导出的jar的路径,Next4. 下一页可以选择是否导出那些含有警告warning或者错误errors的*.class文件。一般不用理他,Next5. 下一个页面里可以对项目做一些配置。(如果项目没有引入第三方jar包,这项我们采用系统默认的选项就OK,Main class一定要设置成为你项目的那个主方法入口类) * Generate the manifest file是系统帮我们自动生成MANIFEST.MF文件,如果你的项目没有引用其他class-path,那可以选择这一项。 * Use existing mainfest from workspace。这是可以选择我们自定义的.MF文件,格式如上所写。 * Seal content。要封装整个jar或者指定的包packet * Main class。这里可以选择你的程序入口,将来打包出来的jar就是你这个入口类的执行结果。最后Finish,搞定。 ......
2
二、java项目有导入第三方Jar包(例如项目中有导入sqlserver2005.jar包)
这时候打包就相对复杂一点:
前面的4步和上面的情况是一样,只是第5步需要选择Use existing mainfest from workspace选项,并选择你自己创建的一个MANIFEST.MF文件,因为系统默认选择的是Generate the manifest file选项,而该选项不会将项目用到得第三方jar包打入到java项目生成的jar包中去。
自定义配置文件MANIFEST.MF :
首先在项目的根目录下创建一个MANIFEST.MF文件
接下来用记事本打开该文件,并编辑:
例如:Manifest-Version: 1.0Main-Class: StudentManager_TestClass-Path: sqlserver2005.jar其中的Manifest-Version是指程序的版本号,Main-Class是指程序的主方法入口类,slass-Path就指定了外来jar包的位置。请注意假设我们的项目打包后为project.jar,那么按照上面的定义,应该在 project.jar的同层目录下有相关的jar包(即sqlserver2005.jar,如果有引入多个第三方jar包,则可以用空格隔开)放在里面。否则将会出现Exception in thread "main" java.lang.NoClassDefFoundError的错误。
END
原作者:aparche
参考技术B 1.在eclipse中下载fatjar插件
2.使用fatjar进行打包,并在后续步骤中指定主函数
3.双击生存的jar即可运行

非web 的 java程序 打成jar包 在linux上运行

右击工程名称 --> Export... --> Java --> Runnable JAR file Launch configuration: 选择工程的启动主类 Export destination: 选择jar包存放路径 --> Finish 用压缩软件打开保存的jar包,可以看到工程引用的其他jar包也在压缩包里 打开META-INF文件夹下MANIFEST.MF,内容如下: Manifest-Version: 1.0 Class-Path: . Main-Class: cleandata.Main 可以看到定义了启动主类,是cleandata.Main,类路径,其他jar包存放路径,是根路径 把改jar包放到linux服务器上 运行 java -jar jar包名称 参考链接 感谢:Everyday都不同 将Java Project (非web项目)打成Jar包并实现相关功能 https://raising.iteye.com/blog/2259209

以上是关于Java工程打成jar包(此工程引用的jar包也打进去),并指定main方法执行该怎么做?的主要内容,如果未能解决你的问题,请参考以下文章

java中maven引用拥有同名方法的jar包的问题

idea 工程打包(war) 和 将集成第三方jar的工程 打成jar包 引用

java mina 怎么打成jar包放在服务器上呀~~

普通java工程加入classes12.jar包后,再打成jar包,运行报错

maven使用assembly插件打包发现多余jar包

maven工程为啥打成jar包能用在war包上用不了