eclipse将项目打包成jar在linux中运行
最近因为项目需要,做了几个外挂程序做数据传输,涉及到项目打包操作,在此记录一下打包步骤和其中出现的问题。
1.首先右键项目文件夹,点击export,弹出如下选择框,在其中输入jar搜索,并选择JAR flie点击next。

2.勾选要打包的文件夹,这里只要勾选需要编译的java文件就可以了,下面的JAR file为打包后的保存路径和jar名称,选择好后点击next。

3.如下图,点击next。

4.如下图,Main class为项目入口路径,点击后面的按钮可以选择项目入口路径,选择好后点击finish即可完成打包。

在打包好后有几个问题需要注意:
1.MANIFEST.MF文件需要根据自己的项目需要进行编写替换,MANIFEST.MF文件的修改需要严格遵守书写规范,首行为Manifest-Version: 1.0 第二行为Class-Path: xxx.jar(依赖的jar) 第三行为Main-Class: 项目入口路径 ,每个冒号后面需要有一个空格,每行结束不能有空格,Main-Class: 项目入口路径 后面需要打两个换行,如果依赖多个jar,则书写完每个jar后空一格写下一个,每行不能超过72个字符,如果每行写一个jar,则每行开始空两格。

2. 使用eclipse将项目打包后,项目中实际调取的依赖和文件等路径一般需要和项目的jar存放到同一级目录,否则会出现ClassNotFound等异常,放在同一级目录也方便后面根据需求修改配置文件。
3.编译好的jar可以用java -jar xxx.jar运行,这种运行方式会在命令行或linux服务器上显示启动和项目中的打印信息,当使用Ctrl+C退出时,jar的运行也会终止。
一般使用nohup命令运行项目:nohup java -jar xxx.jar >/dev/null &
这种方式运行jar在使用Ctrl+C退出时,jar的运行不会被终止,同时命令行或linux服务器不会显示启动和项目中的打印信息,nohup.out文件也不会有输入信息,此时如果想要查看项目运行信息,可以使用log4j输出日志文件进行查看。
摘自:https://blog.csdn.net/qq_36173194/article/details/82842531
eclipse将项目打包成jar在linux中运行的更多相关文章
- eclipse中将项目打包成jar的两种方法,及其问题与解决方法
第一种:利用eclipse中自带的export功能 第一种方法分两种情况先来看第一种情况:没有引用外部jar的项目打包 步骤一:右键点击项目选择导出(export),选择java>jar文件(不 ...
- 用gradle把springboot项目打包成jar
``` 用gradle把springboot项目打包成jar ```### build.gradle 中添加 buildscript { repositories { mavenLocal() mav ...
- Eclipse中将含有图片资源的项目打包成jar文件
前言: 最近学了GUI编程和UDP协议,心血来潮想做一个局域网内的聊天软件,前期都还算顺利,直到后来将整个项目打包成jar文件时遇到了困难.如图: 自己设置的图标不见了,但是也没有默认的图标,说明图片 ...
- (3)Maven快速入门_3在Eclipse中创建Maven项目打包成jar
Eclipse中创建Maven项目 new ---> maven project ----> next 如下 普通java项目 选择 如下 quickstart 创建项目 : 输入 G ...
- AndroidStudio项目打包成jar
AndroidStudio项目打包成jar 前言:在eclipse中我们知道如何将一个项目导出为jar包,现在普遍AndroidStuido开发,这里一步一步详加介绍AS项目打包成jar,jar和ar ...
- 将项目打包成jar,如何又将jar还原成项目
一.将项目打包成jar 第一步: 选择项目,鼠标右键,选择export ,出现如下 接下来就是点击Next,Next,最后点击Finish 后 会生成jar 二.将jar还原成项目 第一步 用反编译工 ...
- AS 3.1 项目打包成jar或aar
1.首先明白一个道理. Android Studio编译的时候会自动将项目生成jar和aar的,我一开始以为jar需要自己单独生成,其实AS已经自动生成了,网上找的很多资料都是一个复制的过程而已. 只 ...
- SpringBoot项目打包成jar后,启动脚本
将springboot项目打包成jar后,上传至服务器,每次都需要手敲命令,重新部署项目,可将这些命令写入脚本中,直接运行. 启动脚本(start.sh): CUR_PATH=$(cd "$ ...
- maven将自己的springboot项目打包成jar包后,作为工具包引入其他项目,找不到jar中的类
将springboot项目打包成jar包,作为工具包导入项目后,找不到jar中的类. 原因是:springboot项目使用了自动的打包插件. 原先的插件配置: <build> <pl ...
随机推荐
- vuex 状态管理 入门
vuex是什么 是一个对 数据状态实现集中式管理 的工具.可以解决组件之间传递的问题 多组件共享状态(变量),有一个数据好多组件都用 组件数大于2,任何一个组件修改其他组件都要改变 实现组件通信 St ...
- [Docker] 使用docker inspect查看宿主机与容器的共享目录
docker inspect 容器名,可以查看到容器的元信息,在返回的j'son信息里面有个Mounts字段可以看到挂载目录 "Mounts": [ { "Type&qu ...
- Android Binder实现浅析-Binder驱动
简介 Android是如何实现跨进程通信的,大家熟悉的Binder是什么,怎么设计的,进程间的数据如何发送接收的.本文将以及解析,并对Binder驱动实现.Native层实现.Java层实现三块做一个 ...
- 宿主机休眠后,虚拟机网络ping不通网关
宿主机 win10 64位 虚拟机软件 vmware 15 虚拟机 centos 7 64位 网络模式:桥接模式 故障起因: 中午去吃饭,为了节省电费,把宿主机 windows 给休眠了 吃完饭 ...
- Java虚拟机——JVM
一.JVM整体架构 1.JVM(Java虚拟机):指以软件的方式模拟具有完整硬件系统功能.运行在一个完全隔离环境中的完整计算机系统,是物理机的软件实现.常用的虚拟机有VMWare.Virtual Bo ...
- SQL中的事务ACID
概述: 事务是由一系列语句构成的逻辑工作单元.事务和存储过程等批处理有一定程度上的相似之处, 通常都是为了完成一定业务逻辑而将一条或者多条语句“封装”起来,使它们与其他语句之间出现一个逻辑上的边界,并 ...
- ansible基本使用(一)
ansible是什么? ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量 ...
- 1级搭建类104-Oracle 12cR2 单实例 FS(阿里云)公开
项目文档引子系列是根据项目原型,制作的测试实验文档,目的是为了提升项目过程中的实际动手能力,打造精品文档AskScuti. 项目文档引子系列目前不对外发布,仅作为博客记录.如学员在实际工作过程中需提前 ...
- SSH自动断开后重连的解决方案
注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 本文源链接:https://www.cnblogs.com/chloneda/p/ssh-conn ...
- js Dom为页面中的元素绑定键盘或鼠标事件
html鼠标事件 onload 页面加载 onclick 鼠标单击 onmouseover 鼠标移入 onmouseout 鼠标移出 onfocus 获取焦点 onblur 失去焦点 onchange ...