将 java 项目打包成可运行的 jar 包(main 函数带参数),并上传到 linux 服务器上运行
一、概述
java项目有两种架构,一种是 B/S 架构的,一种是 C/S 架构的。
对于 B/S 架构来说,我们常见的 java ee 即是 B/S 架构,通常,开发人员会在本地进行开发,然后将项目打包成 war 文件,上传至服务器,供调用。
而对于 B/S 架构来说,通常即是里面有个主方法,就是我们常写的 java 项目/程序。通常,开发完之后,将项目打包成 jar 包,随后上传至服务器,供调用。
本文,针对后者进行介绍。
二、需求描述
一个 java 项目,分包存放多个 java 文件,java 文件中,有依赖第三方库(从外部导入的 jar 包)。其中,主函数(项目入口)位于项目的一个包内,主函数必须带有四个参数。
三、导出 jar 包步骤
3.1 确保正确地写完项目
这一步就不消说了。
3.2 选中项目,点击右键
鼠标单击项目名称,选中后u,单击右键,随即弹出菜单列表

3.3 选择export
在弹出的列表中,选择"Export...",随即弹出 Export 的窗口

3.4 选择导出可运行的 jar 文件
在弹出的 Export 窗口中,点开 java ,选择 Runable JAR file 选项。

- JAR file,单纯只是将项目打包成 jar 包,一般用于java lib的导出,用于给其他人依赖开发使用
- Runable JAR file,顾名思义,可运行的 jar 包,能够被运行(因为随后要指定项目入口)
选择 Runable JAR file 选项,点击 Next ,弹出 Runable JAR file Export 窗口
3.4 配置 JAR 包
在弹出的 Runable JAR file Export 窗口中,

- 修改 Launch configuration,选择为你的项目的入口,即有主方法的类
- Export destination ,选择你想要导出的目录
- Library handling,几个选项顾名思义,不做赘述
- 点击 Next
3.5 完成
导出过程可能会消耗一定时间,地下有绿色进度条提醒进度。等待片刻,即可完成整个过程。

若项目有依赖第三方包,则有可能会弹出以下警示框,点击 OK 即可。

由于项目中可能存在一些不规范之初,在完成此步骤后,也许会弹出一个警告框。点击 Details 可查看详情,点击 OK 进入导出过程。

在 3.4 步骤中选择的目标目录中,即可看到导出的 jar 包。

四、可运行 JAR 文件结构解析
4.1 解压上述步骤得到的 JAR 包
文件目录结构见下图:

- META-INF 文件夹存放着项目的配置信息:
- maven依赖(如果有的话, META-INF 中包含了 maven 文件夹)
- 项目的 MANIFEST 信息(存放在 META-INF/MANIFEST.MF )Manifest-Version、Class-Path、Main-Class,注意它们后面的内容与冒号之间均有一个空格,这个空格必不可少
- 其他文件夹都存放着 .class 文件(结构类似exlipse项目中的bin目录),若有第三方依赖,则也有第三方包的 .class 文件

四、服务器上运行
将文件上传至服务器的步骤,本文就不赘述了。此处简单讲解一下运行过程。
进入可运行的 jar 包目录,此处打开命令行,键入命令java -jar JSTUNServer.jar 5000 192.168.2.1 5001 192.168.2.3(java -jar [jar包] [参数1 参数2 参数3...]),敲回车,即可运行。

由于我选用的实例代码需要特殊的环境,此处报的错与本文论述的内容无关。此处就证明了上述过程的正确性。
将 java 项目打包成可运行的 jar 包(main 函数带参数),并上传到 linux 服务器上运行的更多相关文章
- java项目打包成可运行的jar,main方法带参数
转载 原文地址:http://www.cnblogs.com/neillee/p/6063808.html#commentform 将 java 项目打包成可运行的 jar 包(main 函数带参数) ...
- jenkins+svn完整打包并上传到linux服务器上
因为公司用的是svn版本管理工具并且部署在了windows服务器上,所以测试环使用jenkins需要部署两套环境, 一套是在本地windows服务器,jenkins从svn下载代码完成打包并上传到li ...
- 构建Springboot项目、实现简单的输出功能、将项目打包成可以执行的JAR包(详细图解过程)
1.构建SpringBoot项目 大致流程 1.新建工程 2.选择环境配置.jdk版本 3.选择 依赖(可省略.后续要手动在pom文件写) 4.项目名 1.1 图解建立过程 1.2 项目结构 友情提示 ...
- 在IDEA中如何将Spring boot项目打包成可执行的jar包并发布到linux服务
这两年微服务很流行,这里简单介绍一下如何将自己使用idea写的微服务打包成一个可执行的jar包,并发布到linux服务器的步骤.因为spring boot有内置的tomcat所以一般使用内置的tomc ...
- 编译的java工程压缩上传到linux服务器上后,中文的类名显示乱码
首先声明,类名是用中文命名的,这个别人写的,不允许修改. 本地用7zip软件压缩成zip包,传到服务器解压,发现中文的class文件名称是乱码. 解决办法: 方法一:使用jar命令打成jar包,传到服 ...
- idea 将java 项目 打包成jar包
记录一下,防止忘记.ps : 请忽略这个是web项目 1.idea 打包jar包 (1)首先打开Project Structure,选中Artifacts (2)点击绿色加号,选中jar ,然后选中f ...
- Java项目打包成exe的详细教程
Java项目打包成exe的详细教程 把Java项目打包成exe共分为以下两步: 1. 利用Eclipse先把Java项目先打成jar包 2. 利用exe4j工具把jar包转成exe 这里以Java项目 ...
- 如何将maven项目打包成可执行的jar
如何将maven项目打包成可执行的jar 分类: maven2010-12-17 10:18 10411人阅读 评论(2) 收藏 举报 jarmavenassemblyjava 方法一:将项目及所依赖 ...
- 使用Maven打包项目并上传到Linux服务器
Maven打包: 项目右键Run as-->Maven build...--> 出来下面的界面,注意红色部分的填写,Goals填写package表示打包,下面的Skip Tests表示打 ...
随机推荐
- RBAC基于角色的访问控制
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成"用 ...
- oracle 存储过程的用法
create or replace procedure myPro(inParams in number,outParams out number) is str varchar(200); beg ...
- 【笔记】js清空cookie
$(function(){ function foreach(){ var strCookie=document.cookie; var arrCookie=strCookie.split(&qu ...
- SEL-消息机制
int main() { Person *p = [[Person alloc] init]; //调用方法 [p test2]; [p performSelector:@selector(test2 ...
- iOS开发者联系 联系方式
苹果开发者客服电话地址:https://developer.apple.com/contact/phone.php 中国大陆地区客服电话: 中国香港地区客服电话:() 中国台湾地区客服电话: 链接地址 ...
- CSV文件分割与列异常处理的python脚本
csv文件通常存在如下问题: 1. 文件过大(需要进行文件分割)2. 列异常(列不一致,如元数据列为10列,但csv文件有些行是11列,或者4列)本脚本用于解决此问题. #coding=utf-8 ' ...
- PhoneGap开发跨平台移动APP - 解决跨域资源共享
解决跨域资源共享 一.WebApi解决跨域资源共享. 开发中选择WebApi来作为服务端的数据接口,由于使用PhoneGap,就需要通过js来获取远程远程数据服务器的数据,由于同源策略的限制,这就涉及 ...
- UWP学习记录8-设计和UI之控件和模式5
UWP学习记录8-设计和UI之控件和模式5 1.日历.日期和时间控件 日期和时间控件提供了标准的本地化方法,可供用户在应用中查看并设置日期和时间值. 有四个日期和时间控件可供选择,选择的依据如下: 日 ...
- qtranslate
qtranslate可以帮助用户快速的建立多语言网站平台,qTranslate 插件就是一个功能强大的 WordPress 多语言插件. 它允许用户在配置页添加新的语言.在 URL 结构方面,qTra ...
- Git - 问题集
1.If no other git process is currently running, this probably means a git process crashed in this re ...