转载

原文地址:http://www.cnblogs.com/neillee/p/6063808.html#commentform

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

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

java项目打包成可运行的jar,main方法带参数的更多相关文章

  1. 将 java 项目打包成可运行的 jar 包(main 函数带参数),并上传到 linux 服务器上运行

    一.概述 java项目有两种架构,一种是 B/S 架构的,一种是 C/S 架构的. 对于 B/S 架构来说,我们常见的 java ee 即是 B/S 架构,通常,开发人员会在本地进行开发,然后将项目打 ...

  2. JAVA项目打包成可运行的exe程序

    前言:本篇文章为原创,转载请注明地址,谢谢. 我们一些时候,可能需要需要把我们完成的java打包,打成jar文件或者exe文件.这时候就请鄙人的这篇文章. 言尽于此,Let‘s go! 一.导出jar ...

  3. 使用命令把SpringBoot项目打包成可运行的jar包(简洁,操作性强)

    前几天接到一个需求,要把原系统中一个数据处理小功能搬出原系统,拉出来单独做一个SpringBoot项目,然后打成jar包扔到Windows服务器上运行,这样数据处理的时候如果遇到堵塞就不至于整个系统都 ...

  4. Maven将java项目打包生成可运行jar

    Maven将java项目打包生成可运行jar Maven插件配置 <plugins> <plugin> <groupId>org.apache.maven.plug ...

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

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

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

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

  7. 把java项目打包成jar包并可以直接运行【我】

    首先创建一个maven的jar项目,然后代码写好后,在项目右键,导出: 选择java下面的可运行的jar文件: 下一步: 要注意的是: launch configuration 此选项是指定选中要导出 ...

  8. 将Java项目打包成可以独立运行的Jar包

    因为一直也没怎么用过Java的原因,所以以前本科上课的时候,在控制台下运行Java程序都是仅仅运行单个的没有第三方库依赖的情况下运行的 那种情况特别简单,只要输入Javac 文件名.java等到编译完 ...

  9. 将Java项目打包成exe文件

    第一步:参照我之前的博客:利用IDEA把项目打包成jar包第二步:下载安装exe4j软件第三步:新建文件夹,把jre,exe文件的图标,本项目的jar包以及项目用到的jar包都放到同一目录下[很重要] ...

随机推荐

  1. Google Protobuf 使用 Java 版

    一 . Protobuf 的入门 Protobuf 是一个灵活,高效,结构化的数据序列化框架, 相比于 XML 等传统的序列化工具,它更小,更快,更灵活,更简单. Protobuf 支持数据结构化一次 ...

  2. Web重温系列(一):利用寄宿于IIS的WCF序列化文件

    这两年一直在做WinForm,对于Web已经比较生疏了,其实之前做的也不是很多. 这两天做了一个小工具,功能很简单,就是想有个地方存放办公室同事的机器名和IP的信息,包括附加的用户名和更新时间.比较之 ...

  3. thinkphp3.2在nginx下的配置

    最近一直没用nginx 昨天将tp3.2的项目部署到Ubuntu下的nginx下,发现忘记怎么配置的了 特将配置方式记录下来,以方便日后查找 服务器nignx 配置文件 server { listen ...

  4. 鼠标交互插件threex.domevents介绍

    threex.domevents是一个three.js的扩展库,支持3D场景的交互.和我们操作DOM树的事件相似,名称都是一样的.所以使用起来非常方便.另外他也提供了连接操作.单击网格可实现跳转功能. ...

  5. 10.Oracle Golden Date(ogg)的搭建和管理

    一. GoldenGate 概述 GoldenGate现在是业内成熟的数据容灾与复制产品:GoldenGate是一种基于日志的结构化数据复制方式,它通过解析源数据库在线日志或归档日志获得数据的增删改变 ...

  6. 关于Kafka broker IO的讨论

    Apache Kafka是大量使用磁盘和页缓存(page cache)的,特别是对page cache的应用被视为是Kafka实现高吞吐量的重要因素之一.实际场景中用户调整page cache的手段并 ...

  7. 移动端网页 rem css书写

    移动端网页书写   css样式: @charset "utf-8";body,html{font-family: "微软雅黑";font-size:100px; ...

  8. Android学习:代码控制UI界面示例

    package allegro.test2; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; im ...

  9. VMPlayer Ubuntu 16.04 Copy and Paste with Host 主机与宿机之间的复制粘贴

    使用Ubuntu的虚拟机时如果不能主机之间进行复制粘粘,会非常非常的不方便,所以我们需要安装vmware tools,使用如下的代码(注意第二句一定要有,不然还是不能复制粘贴): sudo apt-g ...

  10. Java8 中的 default

    之前的版本里 interface 中的方法必须是抽象方法,不能有方法体.现在可以添加 interface 内方法,只需要在方法的前面加一个 default 关键字,表示属于接口内部默认存在的方法. 如 ...