`
xiaolongfeixiang
  • 浏览: 236408 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

打包第3方jar

阅读更多

问题引出:

 

做JavaWeb时,只需将第三方的jar包,复制到服务器的指定目录,即可!例如:

 

Tomcat6.0.20 复制到 %Tomcat的解压目录%lib下 (这个Server公用的)

 

或者 项目的WEB-INF/lib目录下。

 

但是在做JavaSE应用时,第三方的jar包,应该如何放置呢?

 

解决方法:

 

1、可以在JavaSE应用的启动时候,设置classpath,使其包括第三方的jar包。

 

2、将第三方的jar包,于JavaSE打包在同一个jar中。(本文的目标)

 

方法详解:

 

 

情形假设(都在C:\Test下):

 

1、JavaSE应用已经打包成jar了(hello.jar)。

 

2、第三方的jar(lib/tool.jar)

 

 

STEP01: 建立一个文本文档。

 

这里建立一个my.mf(也可以是 XXX.txt)



 

 说明:第一行不需要,只是为了最后的演示方遍而加入的。

          Class-Path一定要加入

          末尾一定要有一个空行。(具体约定,见JavaTutorial中的Deployment一章)

 

STEP02: jar命令打包:

命令行:

jar -umf my.mf hello.jar lib

 

选项介绍:

 

-u 表示更新jar包。--  这里将lib目录放入jar中,当然需要此选项

 

-m 指示 Manifest.mf选项的来源。---  文本文件+符合约定即可

 

-f  新加入的文件 或者目录。 --- 这里将lib目录下的所有文件、子目录都加入。

 

注意顺序不要变。



 


测试一下(因为我设置了 Main-Class,所以可以直接运行):



附源码:

 

 

 Hello.jar中的test.HelloWorld

package test;

import com.yourcompany.ToolBean;

public class HelloWorld
{
  public static void main(String[] agrs)
  {
    ToolBean tool = new ToolBean();

    String str = tool.greet(" JavaEye");

    System.out.println(str);
  }
}

 

tool中的ToolBean

package com.yourcompany;

public class ToolBean
{
  public String greet(String name)
  {
    return "Hello , " + name;
  }
}
 

 

 

  • 大小: 3.2 KB
  • 大小: 3.7 KB
  • 大小: 1.1 KB
3
0
分享到:
评论
5 楼 xiaolongfeixiang 2010-11-29  
spring_xcy 写道
我运行   jar -umf my.mf *.jar lib后报这个错
java.io.IOException:invalid header field
at java.util.jar.Attributes.read(Attributes.java:393)
at java.util.jar.Manifest.read(Manifest.java:182)
at java.util.jar.Manifest.<init>(Manifest.java:52)
at sun.tools.jar.Main.update(Main.java:529)
at sun.tools.jar.Main.run(Main.java:202)
at sun.tools.jar.Main.main(Main.java:1149)
这是怎么回事呢?谢谢了



是mf文件的格式有错误。注意mf文件最后要有一个空白行。
4 楼 spring_xcy 2010-11-29  
我运行   jar -umf my.mf *.jar lib后报这个错
java.io.IOException:invalid header field
at java.util.jar.Attributes.read(Attributes.java:393)
at java.util.jar.Manifest.read(Manifest.java:182)
at java.util.jar.Manifest.<init>(Manifest.java:52)
at sun.tools.jar.Main.update(Main.java:529)
at sun.tools.jar.Main.run(Main.java:202)
at sun.tools.jar.Main.main(Main.java:1149)
这是怎么回事呢?谢谢了

3 楼 xiaolongfeixiang 2010-09-15  
xiao-qiang163 写道
写得非常好,支持你顶你一下,
虽然比较基础,但还是值得借鉴的。。。。


谢谢您的支持!
2 楼 xiao-qiang163 2010-09-15  
写得非常好,支持你顶你一下,
虽然比较基础,但还是值得借鉴的。。。。
1 楼 xiaolongfeixiang 2010-04-18  
不好意思,当时把图片删除了。补上来了!!

相关推荐

    打包第三方Jar插件

    "打包第三方Jar插件"这个话题主要关注如何在Java项目中有效地整合和管理这些外部库。MyEclipse作为一款强大的Java集成开发环境(IDE),提供了方便的工具来帮助开发者进行这一过程。下面将详细介绍如何在MyEclipse中...

    exe4j打包(包含第三方jar包)

    【标题】:exe4j打包(包含第三方jar包) 在Java开发中,将项目打包成可执行文件(如.exe)对于非Java环境的用户来说是非常方便的。exe4j是一款强大的工具,它允许我们将Java应用转换为Windows平台下的可执行程序,...

    Android 混淆打包不混淆第三方jar包

    Android混淆打包不混淆第三方jar包Android 混淆打包不混淆第三方jar包

    Ant脚本打包Android程序的demo(含打包第三方jar)

    Ant脚本打包Android程序的demo(含打包第三方jar)。 build_with_bat是基于bat脚本实现的。 build是在build_with_bat的基础上实现的,主要是在compile和dex部分增加了第三jar的打包。

    Jar打包(解决eclipse无法打包含有第三方架包问题)

    3. **设置打包选项**:在弹出的对话框中,选择要导出的主类(程序入口点),然后在`Libraries`选项卡中添加项目的依赖库,包括所有第三方JAR文件。 4. **生成fat jar**:点击`Finish`,Eclipse会将所有选定的类和库...

    Fatjar打包第三方包

    Fatjar,又称为“胖Jar”,指的是将所有依赖库(包括第三方jar包)一起打包到单个JAR文件中的方法。这样做可以使得最终用户无需担心类路径配置问题,只需双击运行这个“胖”JAR即可。 在MyEclipse和Eclipse中,打包...

    android 生成aar/jar包包含第三方jar包没有第三方jar包怎么办

    里面涉及到一个第三方的包,这时候我生成aar/jar包给对方使用的时候,调用不到第三方包的代码,只可以调用我写的类的代码. 问题 我就去网上去寻找,aar/jar包生成包含第三方等问题.网上也有很多答案,我随便发一个别人的...

    在可执行jar中载入第三方jar的几个解决方法

    在Java开发中,将项目打包成可执行JAR(Java Archive)文件是常见的发布方式,尤其是在需要集成第三方库的情况下。然而,当从可执行JAR加载第三方JAR中的类时,常常会遇到“ClassNotFoundException”。这个问题通常...

    Ant脚本打包Android程序的demo 多渠道及第三方JAR打包

    build是在build_with_bat的基础上实现的,主要是在compile和dex部分增加了第三jar的打包。 build_mulity_channel是多渠道打包脚本。该脚本需要ant-contrib-1.0b3.jar的支持。包中已包含,需要将其放到ant的lib...

    jdk引入第三方jar

    在Java开发过程中,引入第三方JAR包是常见的操作,它能帮助我们快速利用已有的库功能,节省开发时间和精力。本篇文章将详细讲解如何在Java项目中导入并使用第三方JAR包,以及与之相关的工具和实践技巧。 首先,我们...

    spring boot 第三方jar包抽离方案

    通过修改`spring-boot-maven-plugin`的配置,可以排除不需要打包进jar的第三方jar包。可以按maven坐标排除,也可以按组ID排除。在父工程的`etcloud-parent`中定义插件配置,子工程引用父工程配置并可覆盖自定义设置...

    myeclipse打包jar文件包含第三方jar包(文档+工具)

    `FatJar`是一个第三方插件,适用于`Eclipse`和`MyEclipse`,它的主要功能是帮助开发者将所有项目依赖的库文件(即第三方JAR包)打包进最终的可执行JAR中。这样,当用户运行这个单一的JAR文件时,不需要额外配置类...

    eclipse 打包 jar 碰到的问题(包含第三方包)

    然而,有时在打包包含第三方库的项目时,会遇到一些问题。这篇博客“eclipse 打包 jar 碰到的问题(包含第三方包)”主要讨论了在Eclipse中处理这种问题的方法。 首先,问题的症结在于如何正确地将项目依赖的第三方...

    maven批量导入第三方jar包至本地库工具

    5. **项目构建**:配置完成后,Maven在构建项目时就能找到这些第三方jar包,从而顺利完成编译和打包。 使用这个工具的一个关键点是确保每个导入的jar包都有正确的坐标信息,否则Maven可能无法正确解析和使用它们。...

    java必须第三方jar文件

    描述中提到的"在这里拥有你想要的第3方jar文件"表明可能有一个资源库或者下载站点,专门收集和提供各种Java开发所需的第三方JAR包。这对于开发者来说是非常宝贵的资源,因为他们可以快速找到并引入需要的库,而无需...

    java打包jar、第三方jar包、制作成.bat批处理

    本篇文章将深入探讨如何打包Java项目、如何处理第三方JAR包,并创建一个.bat批处理文件来简化运行流程。 1. **打包Java项目为JAR文件** 打包Java项目通常使用Maven或Gradle等构建工具。在Maven中,可以在pom.xml...

    eclipse导出第三方jar包插件fatjar

    - **Libraries**: 这是最重要的部分,你需要添加所有项目依赖的第三方JAR包。点击“Add External JARs…”或“Add JARs…”,选择项目中引用的库文件。 5. 完成上述配置后,点击“Finish”开始导出过程。Eclipse会...

    maven打包成第三方jar包且把pom依赖包打入进来的方法

    当开发的项目需要打包成JAR文件并分发给其他项目使用时,通常需要将项目依赖的其他JAR包一同打包进去,这就涉及到如何将POM文件中定义的依赖一起打包成一个独立的第三方JAR包。本文将介绍如何利用Maven的相关插件和...

    漏洞遮盖清除Maven打包插件,Maven打包过程中清除项目中所有第三方Jar包漏洞

    Java项目中往往会使用很多第三方类库或开源类库。在完成项目开发,并准备上线时,经常需要做漏洞扫描。一旦扫描出的上千的漏洞往往会让我们不知所措。如果上线要求非常严格,针对漏扫结果,我们需要逐个jar包查找有...

Global site tag (gtag.js) - Google Analytics