一、概述

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.3java -jar [jar包] [参数1 参数2 参数3...]),敲回车,即可运行。

由于我选用的实例代码需要特殊的环境,此处报的错与本文论述的内容无关。此处就证明了上述过程的正确性。

将 java 项目打包成可运行的 jar 包(main 函数带参数),并上传到 linux 服务器上运行的更多相关文章

  1. java项目打包成可运行的jar,main方法带参数

    转载 原文地址:http://www.cnblogs.com/neillee/p/6063808.html#commentform 将 java 项目打包成可运行的 jar 包(main 函数带参数) ...

  2. jenkins+svn完整打包并上传到linux服务器上

    因为公司用的是svn版本管理工具并且部署在了windows服务器上,所以测试环使用jenkins需要部署两套环境, 一套是在本地windows服务器,jenkins从svn下载代码完成打包并上传到li ...

  3. 构建Springboot项目、实现简单的输出功能、将项目打包成可以执行的JAR包(详细图解过程)

    1.构建SpringBoot项目 大致流程 1.新建工程 2.选择环境配置.jdk版本 3.选择 依赖(可省略.后续要手动在pom文件写) 4.项目名 1.1 图解建立过程 1.2 项目结构 友情提示 ...

  4. 在IDEA中如何将Spring boot项目打包成可执行的jar包并发布到linux服务

    这两年微服务很流行,这里简单介绍一下如何将自己使用idea写的微服务打包成一个可执行的jar包,并发布到linux服务器的步骤.因为spring boot有内置的tomcat所以一般使用内置的tomc ...

  5. 编译的java工程压缩上传到linux服务器上后,中文的类名显示乱码

    首先声明,类名是用中文命名的,这个别人写的,不允许修改. 本地用7zip软件压缩成zip包,传到服务器解压,发现中文的class文件名称是乱码. 解决办法: 方法一:使用jar命令打成jar包,传到服 ...

  6. idea 将java 项目 打包成jar包

    记录一下,防止忘记.ps : 请忽略这个是web项目 1.idea 打包jar包 (1)首先打开Project Structure,选中Artifacts (2)点击绿色加号,选中jar ,然后选中f ...

  7. Java项目打包成exe的详细教程

    Java项目打包成exe的详细教程 把Java项目打包成exe共分为以下两步: 1. 利用Eclipse先把Java项目先打成jar包 2. 利用exe4j工具把jar包转成exe 这里以Java项目 ...

  8. 如何将maven项目打包成可执行的jar

    如何将maven项目打包成可执行的jar 分类: maven2010-12-17 10:18 10411人阅读 评论(2) 收藏 举报 jarmavenassemblyjava 方法一:将项目及所依赖 ...

  9. 使用Maven打包项目并上传到Linux服务器

    Maven打包: 项目右键Run as-->Maven build...-->  出来下面的界面,注意红色部分的填写,Goals填写package表示打包,下面的Skip Tests表示打 ...

随机推荐

  1. Angular2 表单

    1. 说明 表单是Web程序中的重要组成部分,构建良好以及实用的表单必须解决如下几个问题: (1). 如何跟踪及更新表单的数据状态 (2). 如何进行表单验证 (3). 如何显示表单验证信息 Angu ...

  2. C#版BitStream 1.0

    根据C++版的改编,刚刚改完,估计使用会有问题,对于uint8处理的不好 关于使用: BitStream bs = new BitStream( ); bs.WriteInt32( ); int a ...

  3. C# 类使用小demo

    太晚了,不说了,直接上图 运行结果

  4. FusionCharts和highcharts 饼图区别!

    FusionCharts ---------------脚本--------------- <script src="../../../fashioncharts/js/FusionC ...

  5. GroupBy(..)的四种声明方式的理解及调用

    这里我们以 List<Student> studs作为 source,但是注意,studs中的学生可以是分别属于不同的班级和年级 先看GroupBy的第一种声明: public stati ...

  6. kettle系列-[KettleUtil]kettle插件,类似kettle的自定义java类控件

    该kettle插件功能类似kettle现有的定义java类插件,自定java类插件主要是支持在kettle中直接编写java代码实现自定特殊功能,而本控件主要是将自定义代码转移到jar包,就是说自定义 ...

  7. wamp2.5 配置多端口虚拟主机

    1.保证httpd.conf下 Include conf/extra/httpd-vhosts.conf LoadModule php5_module "D:/E/php/wamp/bin/ ...

  8. ***git自动化部署总结

    在网上搜了一堆没用找到太仔细的教程,于是花费2天时间,自己研究了下.现在分享如下: 思路:利用crontab定时去去执行git pull脚本 首先,用git clone命令将中央库的代码下载到阿里云 ...

  9. JAVA运行时问题诊断-工具应用篇

    该BLOG内容是之前在部门组织讨论运行时问题时自己写的PPT内容,内容以点带面,主要是方便以后自己回顾查看. 大纲包括:1.运行时问题分类 2.服务器自带工具 3.其他工具 4.例子 5.实际情况 运 ...

  10. winform快速开发平台->让有限的资源创造无限的价值!

    最近一直在维护一套自己的快速开发平台. 主要应对针对C/S架构下的项目.然而对winform这快,还真没有看到过相对好的快速开发平台, 何为快速,在博客园逛了了好久, 预览了很多通用权限管理系统. 确 ...