登峰造极境

  • WIN
    • CSharp
    • JAVA
    • OAM
    • DirectX
    • Emgucv
  • UNIX
    • FFmpeg
    • QT
    • Python
    • Opencv
    • Openwrt
    • Twisted
    • Design Patterns
    • Mysql
    • Mycat
    • MariaDB
    • Make
    • OAM
    • Supervisor
    • Nginx
    • KVM
    • Docker
    • OpenStack
  • WEB
    • ASP
    • Node.js
    • PHP
    • Directadmin
    • Openssl
    • Regex
  • APP
    • Android
  • AI
    • Algorithm
    • Deep Learning
    • Machine Learning
  • IOT
    • Device
    • MSP430
  • DIY
    • Algorithm
    • Design Patterns
    • MATH
    • X98 AIR 3G
    • Tucao
    • fun
  • LIFE
    • 美食
    • 关于我
  • LINKS
  • ME
Claves
长风破浪会有时,直挂云帆济沧海
  1. 首页
  2. Platforms
  3. WINDOWS
  4. JAVA
  5. 正文

eclipse java 打包并跨平台运行测试-折腾笔记

2017-03-10

上次测试了不同平台下java编译运行,但是由于很多依赖库,导致程序执行起来比较麻烦,所以测试下eclipse直接打包。

打包环境:Windows: Windows10+jre+eclipse

运行环境:centos

一、步骤

文件目录:

步骤:(我就不详细描述了)

* Generate the manifest file:是系统帮我们自动生成MANIFEST.MF文件,如果你的项目没有引用其他class-path,那可以选择这一项。
* Use existing mainfest from workspace:这是可以选择我们自定义的.MF文件,格式如上所写,引用了第三方包时选用。
* Seal content:要封装整个jar或者指定的包packet。
* Main class:这里可以选择你的程序入口,将来打包出来的jar就是你这个入口类的执行结果。

 

二、manifest.mf

文件作用:指示程序入口及依赖jar包位置

文件内容:

Tip:据说文件末尾需要留两个空行,据说Main-Class、Class-Path后需要留一个空格

Tip:Class-Path最好写相对位置(相对于最后打包导出的jar文件的位置)

Manifest-Version: 1.0
Main-Class: Send1
Class-Path: lib/amqp-client-4.1.0.jar lib/mysql-connector-java-5.1.41-bin.jar lib/slf4j-api-1.7.24.jar lib/slf4j-simple-1.7.24.jar
 
 

三、运行

1、复制依赖库于打包得到的jar目录

2、cmd运行

java -jar test.jar

Tip:可以写一个批处理文件,如run.bat内容如上,实现一步启动。

3、Centos7运行测试

四、疑问

1、打包时依赖库能打进jar中吗?

答案:不推荐,因为即使打入jar中,程序运行时也不能引用内部的依赖库。程序运行时只能引用外部的依赖包。

2、外部依赖包的位置怎么放置呢?

外部依赖包的位置在manifest.mf文件中定义,将依赖文件放置于manifest.mf声明的相对地址即可。

标签: 暂无
最后更新:2017-03-10

代号山岳

知之为知之 不知为不知

点赞
< 上一篇
下一篇 >

COPYRIGHT © 2099 登峰造极境. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备14031139号-5

川公网安备51012202000587号