java 打包过程及如何使用第三方jar包
- 格式:docx
- 大小:230.17 KB
- 文档页数:8
【Java】class.jar和sources.jar及javadoc.jar三种jar包⼀、普及jar包知识 例如(举例⼦解释)类⽂件(.class) test-java-1.0-SNAPSHOT.jar⽂档包(API) test-java-1.0-SNAPSHOT-javadoc.jar资源包(code) test-java-1.0-SNAPSHOT-sources.jar⼆、使⽤⽅法1.类⽂件(.class) test-java-1.0-SNAPSHOT.jar 反编译,最暴⼒直接的⽅法,将jar包拖进IDEA⾥查看2.⽂档包(API) test-java-1.0-SNAPSHOT-javadoc.jar 解压该⽂件,打开index.html查看3.资源包 test-java-1.0-SNAPSHOT-sources.jar 拖进IDEA直接查看⼆、⽣成⽅法1.类⽂件(.class) test-java-1.0-SNAPSHOT.jar 直接使⽤maven打包⽣成即可2.⽂档包(API) test-java-1.0-SNAPSHOT-javadoc.jar 使⽤ maven-javadoc-plugin 插件⽣成javadoc.jar3.资源包 test-java-1.0-SNAPSHOT-sources.jar 使⽤ maven-source-plugin 插件⽣成sources.jar完整pom⽂件如下:1<?xml version="1.0" encoding="UTF-8"?>2<project xmlns="/POM/4.0.0"3 xmlns:xsi="/2001/XMLSchema-instance"4 xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd">5<modelVersion>4.0.0</modelVersion>67<groupId>com.test</groupId>8<artifactId>test-java</artifactId>9<version>1.0-SNAPSHOT</version>10<dependencies>11<dependency>12<groupId>junit</groupId>13<artifactId>junit</artifactId>14<version>4.12</version>15<scope>compile</scope>16</dependency>17</dependencies>1819<build>2021<plugins>22<plugin>23<!-- Maven 编译插件24指定maven编译的jdk版本,如果不指定,25 maven3默认⽤jdk 1.5 maven2默认⽤jdk1.3 -->26<groupId>org.apache.maven.plugins</groupId>27<artifactId>maven-compiler-plugin</artifactId>28<version>3.8.1</version>29<configuration>30<!-- ⼀般⽽⾔,target与source是保持⼀致的,但是,有时候为了让程序能在其他版本的jdk中运⾏(对于低版本⽬标jdk,源代码中不能使⽤低版本jdk中不⽀持的语法),会存在target不同于source的情况 --> 31<source>1.8</source><!-- 源代码使⽤的JDK版本 -->32<target>1.8</target><!-- 需要⽣成的⽬标class⽂件的编译版本 -->33<encoding>UTF-8</encoding><!-- 字符集编码 -->34<verbose>true</verbose>35<showWarnings>true</showWarnings>36<fork>true</fork><!-- 要使compilerVersion标签⽣效,还需要将fork设为true,⽤于明确表⽰编译版本配置的可⽤ -->37<executable><!-- path-to-javac --></executable><!-- 使⽤指定的javac命令,例如:<executable>${JAVA_1_4_HOME}/bin/javac</executable> -->38<compilerVersion>1.3</compilerVersion><!-- 指定插件将使⽤的编译器的版本 -->39<meminitial>128m</meminitial><!-- 编译器使⽤的初始内存 -->40<maxmem>512m</maxmem><!-- 编译器使⽤的最⼤内存 -->41<!-- <compilerArgument>-verbose -bootclasspath ${java.home}\lib\rt.jar</compilerArgument><!– 这个选项⽤来传递编译器⾃⾝不包含但是却⽀持的参数选项 –>-->42</configuration>43</plugin>4445<!-- ⽣成javadoc⽂档包的插件 -->46<plugin>47<groupId>org.apache.maven.plugins</groupId>48<artifactId>maven-javadoc-plugin</artifactId>49<version>3.2.0</version>50<executions>51<execution>52<id>attach-javadocs</id>53<goals>54<goal>jar</goal>55</goals>56</execution>57</executions>58</plugin>5960<!-- ⽣成sources源码包的插件 -->61<plugin>62<groupId>org.apache.maven.plugins</groupId>63<artifactId>maven-source-plugin</artifactId>64<version>3.2.1</version>65<configuration>66<attach>true</attach>67</configuration>68<executions>69<execution>70<!-- 在package阶段之后会执⾏源代码打包 -->71<phase>package</phase>72<goals>73<goal>jar-no-fork</goal>74</goals>75</execution>76</executions>77</plugin>78</plugins>79</build>8081</project>配置好插件后,使⽤maven package命令既能在target⽬录中查看到三个jar包 命令:mvn package如果要把三种jar包安装到本地仓库 命令:mvn install如果要把三种jar包发布到远程仓库 命令:mvn deploy。
java打jar包,引⽤其他.jar⽂件⼤家都知道⼀个java应⽤项⽬可以打包成⼀个jar,当然你必须指定⼀个拥有main函数的main class作为你这个jar包的程序⼊⼝。
具体的⽅法是修改jar包内⽬录META-INF下的MANIFEST.MF⽂件。
⽐如有个叫做test.jar的jar包,⾥⾯有⼀个拥有main函数的main class:test.someClassName我们就只要在MANIFEST.MF⾥⾯添加如下⼀句话:Main-Class: test.someClassName然后我们可以在控制台⾥输⼊java -jar test.jar即可以运⾏这个jar。
但是我们这个项⽬需要引⽤其他第三⽅的jar包,在eclipse⾥⾯以项⽬jar包的形式引⽤了这个叫做some.jar的包,当时放在项⽬的lib⼦⽬录下,最后项⽬打包时把这个some.jar也打进来了,但是⽤java -jar执⾏这个test.jar的时候报找不到Class异常,原因就是jar引⽤不到放在⾃⼰内部的jar包。
那怎么办?运⾏时将其加⼊classpath的⽅式⾏不⾏?就是在运⾏jar的同时加⼊classpath参数:java -classpath some.jar -jar test.jar这种⽅式应该能解决问题吧,试⼀下,还是不⾏。
查了下资料,原来使⽤java -jar 命令运⾏jar包时classpath参数将会失效,所以,这种⽅式也不⾏。
那该怎么引⽤其他的jar包呢,答案还是在这个⽬录META-INF下的MANIFEST.MF⽂件中。
jar包引⽤其他jar包的信息必须在这个⽂件中声明。
我们在MANIFEST.MF中添加如下代码:Class-Path: lib/some.jarlib是和test.jar同⽬录的⼀个⼦⽬录,test.jar要引⽤的some.jar包就在这⾥⾯。
然后测试运⾏,⼀切正常!如果有多个jar包需要引⽤的情况:Class-Path: lib/some.jar lib/some2.jar每个单独的jar⽤空格隔开就可以了。
ECLIPSE将引用了第三方JAR包的JAVA项目打包成JAR文件的两种方法在Eclipse中,我们可以使用两种方法将引用了第三方JAR包的Java项目打包成JAR文件。
下面将详细介绍这两种方法。
方法一:使用Eclipse自带的导出功能1. 在Eclipse中,右键单击项目,选择"Export"。
2. 在弹出的对话框中,选择"Java"下的"JAR file",然后点击"Next"。
3. 在"JAR File Specification"页面上,选择要导出的项目以及要导出的资源;在"Export destination"中,指定导出的JAR文件的保存路径和文件名。
4. 在"JAR Packaging Options"页面上,选择"Export generated class files and resources",确保要导出的类文件和资源都被包含在JAR文件中。
5. 在"Select the export destination"页面上,选择"Package required libraries into generated JAR",这将会将所需的第三方JAR包也包含在生成的JAR文件中。
6. 点击"Finish"完成导出。
这种方法的优点是简单快捷,只需要几个简单的步骤就可以完成打包。
但是缺点是生成的JAR文件会将第三方JAR包也放在同一个目录下,可能导致文件夹混乱。
方法二:使用Apache Maven插件打包1. 首先,确保你的项目中存在pom.xml文件,它描述了项目的依赖关系和构建配置。
2. 打开Eclipse的"Terminal"窗口,或者使用其他的命令行工具。
java 第三方包调用的方法在Java中,调用第三方包的方法通常涉及以下步骤:1. 导入包:首先,确保你的项目中已经包含了需要的第三方包。
这可以通过将相应的JAR 文件包含在你的项目中,或者通过构建工具(如Maven、Gradle)来添加依赖项。
2. 创建对象:通常,你需要实例化第三方包中的类,以便调用其方法。
这可以通过使用`new` 关键字来实现。
3. 调用方法:一旦你有了第三方包的对象,你就可以调用其方法。
方法的调用可能需要提供参数,这取决于方法的签名。
以下是一个简单的示例,演示如何调用第三方包的方法:```java// 导入第三方包中的类import com.example.ThirdPartyClass;public class MyApplication {public static void main(String[] args) {// 创建第三方包中的类的对象ThirdPartyClass thirdPartyObject = new ThirdPartyClass();// 调用第三方包中的方法thirdPartyObject.someMethod();// 如果方法接受参数,例如一个字符串参数String result = thirdPartyObject.methodWithParameter("Hello, World!");System.out.println(result);}}```请注意,上述代码中的`com.example.ThirdPartyClass` 是一个虚构的示例。
你需要替换它为你实际使用的第三方包中的类。
确保查阅第三方包的文档以了解如何正确使用它的类和方法。
文档通常提供了详细的信息,包括类、方法的说明以及示例用法。
Java打包成jar文件,以及将jar文件导出为exe文件方法汇总(图形说明)一、Java打包成jar文件方法一:用Eclipse导出jar文件注:我用的是Eclipse,但是MyEclipse也大同小异首先右键点击所要打包的工程,选择Export选项选择JAR file,点击Next在要打包的工程前打钩,如上图红色所示;选择导出文件的目的地址,如图蓝色所示,包名随意,没有特定的要求;点击Next点击Browse选择到主类所在的上一个文件夹,别忘了填写File name(随意起名即可),点击OK;点击第四幅图的下面的Browse按钮,选择主类的名字,如下图所示点击OK,即可完成打包。
运行jar文件,可将jar文件与一个批处理文件放到一个文件夹中;其中批处理文件的内容为:java -jar neme.jar(其中name为jar包的名字)批处理文件格式为.bat;双击批处理文件即可运行程序。
PS:将java工程文件打包成.exe文件我用的是一个exe4j的免费软件第一步:默认即可,直接点击Next第二步:如果有已经制作好的jar文件,选择“JAR in EXE”mode,然后点击Next第三步:红色划线框内填写工程名字,随意即可;蓝色划线框内填写打包后的exe文件输出目录第四步:如果需要导出为exe文件的是图形界面,则选择GUI application;如果要导出为exe文件的是控制台的,则选择console application;Executable name写你将要生成的exe文件的名字,Icon File可以选择生成文件的图标第五步:点击绿色的加号,出现如下所示对话框,选择archive,然后选择已经打包好的jar文件选择主类完成后如图所示第六步:最小版本填1.3,最大版本填1.6;如果只需导出的exe在装有JRE的机子上可以运行,那么一路Next下去,最后点击Finish即可;如果想要在没有装JRE的机器上运行,那么需要继续,点击Advanced Options,选择searchsequence选择Directory,点击浏览按钮,选择JRE所在的根目录,将JRE复制过来,如下图所示选择Preferred VM,选择Client hotspot VM第7、8步是一些基本配置,默认即可,第9步编译,第10步你就可以看到以下效果了好了,大功告成了~方法二:用命令生成jar文件首先编写一个清单文件,名为:MANIFEST.MFT,其代码如下:Manifest-Version: 1.0//该属性是创建可执行jar包必需的,指定的Main-Class为全路径类名(且该类必需有main方法)Main-Class:填写你的主类Created-By: 1.5.0_02 (Sun Microsystems Inc.)然后,使用如下命令生成jar文件:jar cfm 填写你要生成jar的名字.jar MANIFEST.MFT *.class其中,c表示要生成一个新的jar文件;f表示生成jar的名字;m表示清单文件的名字二、ar文件导出为可执行文件,即exe文件方法一:用j2ewiz,使用方法如下:操作步骤:1、双击j2ewiz.exe,出现软件注册窗口,点击下一步。
Java在制作jar包时引⽤第三⽅jar包的⽅法我⽤的是Eclipse打包,但在CMD窗⼝执⾏的时候报“ActiveMQ.jar中没有主清单属性”错误。
在⽹上搜了下,这个与MANIFEST.MF⽂件有关,该⽂件没有定义MAIN⽅法所在类的路径,利⽤好压打开jar包,果然如此。
⾥⾯只有⼀⾏Manifest-Version: 1.0需添加Main-Class。
在本例中,添加如下:Main-Class: com.luoluo.TestUse.activemq.ActiveMQStateMain上⾯,有⼏点需要注意:1. Main-Class:和com.luoluo.TestUse.activemq.ActiveMQStateMain中间必须有个空格,切记。
2. com.luoluo.TestUse.activemq是该类的包名,ActiveMQStateMain是main⽅法所在的类名,注意:后⾯不⽤加上.java或.class。
3. 如果不引⽤第三⽅包,需回车让光标到下⼀⾏。
不然还是会报“ActiveMQ.jar中没有主清单属性”错误。
如果引⽤了第三⽅包,在Class-Path后⾯回车,总之,在指定了相关的参数后,均需要回车让光标到下⼀⾏。
上⾯的只是定义了主类,如果引⽤了第三⽅包,则会报以下错误:Exception in thread "main" ng.NoClassDefFoundError: org/apache/activemq/broker/jmx/BrokerViewMBean这时,需在MANIFEST.MF⽂件中定义Class-Path。
在本例中,添加如下:Class-Path: lib/activemq-all-5.12.1.jar注意:Class-Path和lib/activemq-all-5.12.1.jar之间也同样需要个空格。
同时,在jar包的同层⽬录下,新建⼀个lib⽂件夹,将activemq-all-5.12.1.jar copy到⾥⾯去。
idea打包java可执⾏jar包的实现步骤1,在项⽬上⿏标右键 --> Open Module Settings
2, Artifacts --> + --> JAR --> From modules with dependencies...
3, Main Class是你这个项⽬(脚本)的主⽅法,就是要运⾏的类,选⼀个
4,如下图,设置 META-INF/MANIFEST.MF
切记,不能⽤默认的(起码我⽤默认的是不成功的)
6,选中你这个项⽬的根⽬录,⼀定要放在根⽬录下
7,设置完是这样⼦的,关于 JAR files from libraries的两个选项:
选中第⼀个的话,打完包后是⼀个jar包
选中第⼆个的话,打完包后是⼀个jar包,外带你项⽬所⽤的jar包,个⼈推荐第⼆个
8,设置完后就可以点OK了
9,这个页⾯, Build on make打上勾,其他的不⼀样也没事
10,最后⼀步, Build Artifacts... --> XXX.jar --> Build
11,复制这⾥的路径去找jar包就⾏
到此这篇关于idea打包java可执⾏jar包的实现步骤的⽂章就介绍到这了,更多相关java可执⾏jar内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
在Eclipse中将Java项目打包为jar方法一:如果自己的java project中需要引用额外的jar包作为资源文件,那么需要自己自定义配置文件MANIFEST.MF ,内容示例如下:Manifest-Version: 1.0Class-Path: lib\crimson.jar lib\jbcl.jar lib\junit.jarlib\log4j-1.2.13.jar lib\mysql-connector-java-3.1.13-bin.jarMain-Class: src.YourMainClassName其中的Class-Paht就指定了外来jar包的位置。
请注意假设我们的项目打包后为project.jar,那么按照上面的定义,应该在 project.jar的同层目录下建立一个lib文件夹,并将相关的jar包放在里面。
否则将会出现Exception in thread "main" ng.NoClassDefFoundError的错误。
最后介绍一下使用Eclipse制作jar包的过程吧:1. 首先在Eclipse中打开项目,右键点击项目,选择“Export”;2. 选择Java/JAR file,Next;3. Select the resources to export中可以选择你想要包含的项目文件夹,一些不必要的文件夹就无需放进去了,免得增大空间;这里有几个选项:∙Export generated class files and resources 表示只导出生成的.class 文件和其他资源文件∙Export all output folders for checked projects 表示导出选中项目的所有文件夹∙Export java source file and resouces 表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了∙Export refactorings for checked projects 把一些重构的信息文件也包含进去在Select the export destination中选择导出的jar的路径,Next4. 下一页可以选择是否导出那些含有警告warning或者错误errors的*.class 文件。
Java项目中导入第三方Jar文件
演示:以导入数据库驱动Jar为示例
1、首先,在项目所在文件夹中随意创建一个子文件夹,然后将数据库驱动Jar文件放入到
该文件夹下,如下图所示:
可以看到新创建的文件夹了(本示例中文件夹名称为:lib),具体操作如下图所示:
当单击“Refresh”按钮后,可以在项目中看到自己创建的文件夹(即:lib),如下图所示:
3、 最后,然后在MyEclipse 中找到自己的项目,然后在项目上右键,弹出如下菜单:
弹出如下窗口:
,表示现在我们在项目中还无法使用该数据库
单击“Add JARs …”按钮,如上图所示,出现如下窗口:
然后单击“OK ”按钮,即可。
通过上述方式就可以将任何第三方的Jar 文件(如:数据库驱动Jar 文件)导入到当前项目中,导入后项目变为如下结构,如下图所示:
的图标变成:,才表明将来在程
以上就是如何在MyEclipse中导入第三方Jar文件的方法,请同学们自己试一试!。
Java打包jar这篇内容部分来自官网及维基的翻译,大部分的代码都亲自做了测试,如果遇到问题可以联系我,高手们可以大略读一下初级篇或直接略过读高级篇。
学过c++的同学都知道,编译过后的程序是可以直接点击运行的,.exe文件是windows里的可执行文件,那么我们在java中如何产生这种可执行文件呢?解决这个问题,我们要知道java程序的打包发布。
Java程序的打包发布也就是打包成jar压缩包的过程,jar压缩包是可以直接点击运行的,类似.exe文件,所以我们要做的就是把java源文件编译后,打包成jar 文件,那么我们的用户就可以直接双击运行了。
是不是很爽。
其实,我们还可以作很多,比如我们也可以用工具把java程序做成.exe文件,我们也可以做成linux下可以运行的程序。
下面我们详细介绍步骤,并说明每个步骤的原因,知其然也得知其所以然。
一、Java程序的打包基本上分两部分,一部分是一般程序的打包,另一部分就是特殊的插件打包了,我们只注重一般程序的打包,插件的打包方法我们不研究,毕竟没几个人搞插件开发。
二、jar运行的时候,它在怎么工作呢?了解这个是很重要的,知道这个以后,你就明白为什么我们需要这个文件、需要哪个文件,所以要仔细看这部分。
简单的说:双击jar文件->jar会读取manifest.mf(或者以mf为后缀的)这个打包清单->清单里有主类名和运行需要的库->根据这些信息jar就可以开始运行里面的java程序了->当有和系统进行交互的时候(比如swt需要系统的界面窗口信息,如果没有和系统进行信息交互则不必包含系统的库文件,其实那个时候你也没有需要的库文件),我们就要读取系统的库文件,调用系统的东西,所以我们要把系统的库函数连接文件(***.dll)包括进来。
这些就是jar的工作内部过程,那么下面我们就满足它的要求,创建它。
三、立即开工1、第一步,创建好你的swt程序,我们以这个为例,我们不避讳任何为题,因为这个包含的比较全面,基本问题都遇到了,所以你要先创建一个简单的swt程序,例如一个简单的对话框Swttest.java。
JAVASpringBoot项⽬打成jar包供第三⽅引⽤⾃动配置(Spring发现)解决⽅案本项⽬测试环境JDK: 1.8SpringBoot: 2.1需求描述 当我们想要利⽤SpringBoot封装⼀套组件并发布给第三⽅使⽤时,我们就不得不考虑我们的组件能否被使⽤者正确引⼊使⽤,本⽂章讲解的是项⽬打包成 jar 包后 Spring 配置类未扫描、未注册Bean的解决⽅案。
解决⽅案 此处提供三种解决⽅案,友好型依次提升。
1. 使⽤者⼿动配置 basePackages2. 使⽤者通过注解⽅式启⽤配置3. SpringBoot 主动发现正⽂开始 第⼀种:使⽤者⼿动配置basePackages (对组件开发者最为简单,对使⽤者最为繁琐)使⽤此⽅式,对组件开发者最为简单,不需要对项⽬进⾏任何其余配置,我们只需要在测试环境使⽤功能后直接打包发布。
但是使⽤者使⽤时需要⼿动配置 basePackages,假设我们的组件的包基础为:“top.huic.logrecord.ui”,则在使⽤时应进⾏如下配置:@Configuration@ComponentScan(basePackages = {"top.huic.logrecord.plus.ui.**"})public class TestConfig{}配置⽅式: 在SpringBoot启动类或能被Spring发现的 Configuration 类上增加 @ComponentScan(basePackages={"top.huic.logrecord.plus.ui.**"})通过此⽅式配置后,Spring会在启动时扫描 top.huic.logrecord.plus.ui 这个包,我们的组件⾃然⽽然也会被注册为Spring Bean 第⼆种:使⽤者通过注解⽅式引⼊(在特定的需求环境使⽤)第⼀种⽅式需要使⽤者⼿动进⾏ basePackages 配置,当使⽤者忘记配置时,我们的组件则不会⽣效,第⼆种雷同,只不过配置⽅式有变⾸先来看看我们项⽬(组件)的⽂件结构LogRecordClientConfig 则为我们主要配置类,相当于我们组件的⼊⼝,代码如下:1 @Configuration2 @ComponentScan("top.huic.logrecord.client.**")3public class LogRecordClientConfig {4 }其中,第⼀⾏是声明为⼀个配置类第⼆⾏为设置⾃动扫描包,让Spring能够发现我们封装的组件的其他 Spring Bean到这⼉还远远没完,因为我们的⽬的是使⽤者通过注解才能发现该配置类,所以我们还需要建⽴⼀个注解类,此处取名为EnableLogRecordClient,我们来看看EnableLogRecordClient中的代码:1 @Retention(RetentionPolicy.RUNTIME)2 @Target({ElementType.TYPE})3 @Documented4 @Import({LogRecordClientConfig.class})5public @interface EnableLogRecordClient {6 }关键代码为第4⾏,此⾏是代码导⼊ LogRecordClientConfig 类,也就是我们前⾯的配置类。
前言:我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同。
其实将java程序打包成exe也需要这个可执行jar文件。
准备:eclipse、exe4j(网上有软件和帐号下载)第一步,将java项目打包成可执行jar文件,首先看一下我的java project结构,Main.java 是程序入口类,里面有main函数,config目录是些配置文件,lib是用到的第三方类库开始打包,Simulate(Java项目)-鼠标右键-Export弹出窗口,选择“JAR file”,点击“Next”取消勾选“config”和“lib”目录,以及eclipse生成的项目配置文件“.classpath”和“.project”,点击“Next”一切默认,点击“Next”在弹出窗口中,选择我们自己创建的MANIFEST.MF文件,点击“Finish”我的MANIFEST.MF文件内容为:Manifest-Version: 1.0Main-Class: bing.MainClass-Path: . lib/ojdbc14.jar lib/poi-2.5.1.jar lib/jbcl.jarlib/JTattoo.jar lib/liquidlnf.jarCreated-By: IceWee通过指定“Main-Class”来达到可执行jar文件的目的。
其实我们最终是将项目打包成exe,Class-Path可以不指定,在打包exe的时候还要指定classpath的。
第二步,将项目打包成exe,这里要明确一点,并不是把所有的文件都打包成一个exe,资源文件是不能包进去的,往下看↓首先,在任意目录创建一个文件夹,最好命名和项目名相同,我在F盘创建了一个“Simulate”文件夹,之后将所有的资源文件以及我们生成的可执行jar文件(我的Simulate.jar)都拷贝到这个文件夹里,config目录和lib目录,如果你怕执行该程序的机器上没安装jre,那么你需要将自己机器上的jre目录也拷贝进来,我安装的jre5,最后的目录结构:打开exe4j,跳过欢迎,直接点击左侧导航的第二项,因为我们已经提前将java项目打包成可执行jar文件了在弹出窗口,选择“JAR in EXE mode”,点击“Next”在新窗口中,为我们的应用取个名称,之后选择exe生成目录(我的F:\Simulate),点击“Next”为我们要生成的exe取名,如果想生成自定义图标,那么选择你的ico文件,如果你不想在一台电脑上运行多个你的程序,你可以勾选“Allow only a single...”,点击“Next”点击绿色“+”,设置程序运行的Class Path先选择我们自己的可执行jar文件(我的Simulate.jar),点击OK我们的Simulate.jar就加到Class Path下了之后点击General中的Main Class选择按钮,在弹出窗口中,exe4j会自动搜索当前Class Path下的全部jar中包含main方法的类,并列出,因为当前我只选择了自己项目的jar,而我的项目中只有Main.jar包含了main方法,所以一目了然,直接选择它点击“OK”,程序入口类就设置完成了Main Class设置完成后,依次将所有需要的第三方类库加到Class Path下,方法同添加“Simulate.jar”一样,点击“Next”输入Java最小Jre版本号,即低于这个版本的Jre无法运行该程序,接着点击“Advanced Options”-“Search sequence”,设置一下我们的JRE,之前说过,如果客户机上没装Jre咋办?,没关系我们捆绑一个进去点击绿色“+”来选择捆绑的JRE位置在弹出对话框中选择“Directiony”,之后选择JRE的文件夹,注意:这个JRE目录是我们将本机的JRE目录拷贝到当前exe生成目录下的,我的目录是F:\Simulate\jre5,下图程序使用的是相对目录,点击OK,完成JRE的捆绑操作JRE捆绑完毕,点击“Next”默认,点击“Next”默认,点击“Next”默认,点击“Next”exe生成中OK,完成,点击“Exit”即可看看成果如何吧!我们的可执行jar以及第三方jar总共还不到5M,可jre5目录就50多M,如果目标机器上有JRE环境就可以把它删掉了,lib目录是第三方jar文件,现已打包到exe中了,所以它也没有存在的理由了,那么最小配置就剩下了“Simulate.exe”和“config”目录了!方案一:用Eclipse自带的Export功能步骤1:准备主清单文件“MANIFEST.MF”,由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目下建立文件MANIFEST.MF,内容如下:Manifest-Version: 1.0Class-Path: lib/commons-codec.jar lib/commons-httpclient-3.1.jarlib/commons-logging-1.1.jar lib/log4j-1.2.16.jar lib/jackson-all-1.8.5.jar Main-Class: main.KillCheatFans第一行是MAINIFEST的版本,第二行Class-Path就指定了外来jar包的位置,第三行指定我们要执行的MAIN java文件。
java打包成可执⾏的jar或者exe的详细步骤下⾯介绍过程:在Eclipse下,程序能够正常运⾏.⽅法1:直接拷贝其它能运⾏的JAR⽂件中的MANIFEST.MF进⾏修改⽅法2:利⽤IDE⼯具,如Eclipse在⽣成JAR⽂件时⾃动⽣成MANIFEST.MF内容如下:复制代码代码如下:Manifest-Version: 1.0Main-Class: manager.ui.MainFrameClass-Path: ./lib/spring.jar ./lib/hibernate.jar ./lib/derby.jarSplashScreen-Imager: manager/resources/images/splash.jpg说明:Manifest-Version -指定清单⽂件的版本号Main-Class -指定程序运⾏的⼊⼝类。
注意:类名后不要加class扩展名Class-Path -指定⽀持库的路径。
“.”指程序运⾏⽬录,即导出的JAR包所在⽬录。
程序运⾏时依据Class-Path项的设置路径来查找⽀持库。
每⼀个⽀持库之间⽤空格隔开。
在这⾥使⽤了hibernate,spring,derby.注意:1.如果Java应⽤程序⽤到了⼀些Eclipse包,那么就必须将这些包也复制到程序运⾏⽬录,设置到Class-Path,否则程序将⽆法运⾏.引⽤了⼀些外部组件也需要如此设置,如hibernate,spring,derby.2. 除了⼊⼝类的包名和类名之外,其他设置项都不分⼤⼩写,⽐如:Class-Path写成class-path或CLASS-PATH也可以,swt.jar写成SWT.JAR也⾏。
3.类名后不要加class扩展名4.每⼀⾏的':'后都有⼀个空格,如Class-Path:<空格>./lib/spring.jar5.Class-Path中.引⼊的JAR⽂件每⾏不得超过19个,否则会报错.但在让⼈意外的是每⾏只有前9个有效,故将所有同类型的JAR ⽂件做成⼀个JAR⽂件.如我这⾥的spring.jar,hibernate.jar,derby.jar都是同类JAR⽂件的组合.在spring的 'sessionFactory' bean的配置中则要这样写(与程序中ClassPathXmlApplicationContext对应)复制代码代码如下:manager/entity/MyFile.hbm.xmlmanager/entity/FileType.hbm.xml...1.右键单击项⽬名,在弹出菜单中选择“Export”。
java 获取外部jar 包的方法实现Java程序中使用外部jar包的方法是非常常见且重要的技能。
使用外部jar包可以大大提高开发效率,使得开发者能够重用他人或自己开发的代码库。
本文将一步一步回答“java获取外部jar包的方法”的主题,并提供具体实例。
第一步:下载外部jar包要使用外部jar包,首先需要从可靠的源下载所需的jar文件。
可以通过直接从开发者的官方网站下载,或通过Maven 或Gradle 这样的构建工具从Maven 存储库中获取。
以使用Apache Commons Lang 作为示例,可以在官方网站上下载jar 文件或使用Maven 添加以下依赖项:xml<dependency><groupId>org.apachemons</groupId><artifactId>commons-lang3</artifactId><version>3.12.0</version></dependency>在Maven 项目中,只需将此依赖项添加到项目的pom.xml 文件中,并执行`mvn clean install` 命令以获取外部jar 包。
第二步:将外部jar包添加到类路径中一旦jar包下载完成,需要将其添加到类路径中,以便在程序中引用。
1. 在IDE 中使用外部jar包:对于大多数现代IDE,如IntelliJ IDEA、Eclipse 或NetBeans,可以通过以下几种方式添加外部jar包:- 将jar文件直接拖放到项目的依赖文件夹中。
- 通过项目的构建路径或模块设置添加外部jar包。
- 在IDE的Maven项目中,通过在pom.xml文件中声明外部jar包的依赖项。
2. 在命令行中使用外部jar包:如果不使用IDE 或希望通过命令行编译和运行程序,可以使用`-classpath` 或`-cp` 参数指定外部jar包的位置。
java打包jar成exe并动态绑定jre再打包成安装注:以下所有步骤的前提是,把jar文件,ico图示(pngImage文件夹),第三方jar 包(lib活页夹),jre活页夹,放到同一个活页夹中。
本例放在exe4j Install4j Inno setup活页夹下,如图0如图0首先,我们选用exe4j把jar执行文件转成exe文件exe4j.exe下载地址: /download/exe4j/files.html 程序安装不在赘述:它要求系统有1.5版本以上的JDK,点Download在线下载,如果你的机器上有JDK,点Locate找到你机器上已安装的JDK目录下/bin/java.exe就可以进行安装了。
下面就使用exe4j转换jar为exe的过程详细说明一下:第1步,默认即可。
直接下一步第2步,如果已经有制作好的jar檔,则下面一个"JAR in EXE"。
对于打包jar檔,在eclipse中右击项目选导出即可,不会制作jar檔可以给我留言如图1第3步,上面是项目名称,可随便填写,下面一个写出你想要将打包后的exe文件输出的目录:如图2第4步,由于我的演示程序是图形的,所以选第一个,如果你的程序是控制台的,则选择第二个,Executable name 写你将要生成的exe檔的名字,Icon File可以选择生成文件的图示如图3第5步,首先,单击绿色的"+"号,在弹出的窗口中点Archive,然后找到起初已经做好的jar檔,如图4,"OK"后返回,在下面的Class Path里就出现jar文件路径后,再在上面Main Class栏内点击找到main所在的类,如图5,这一步即算完成:如图4如图5第6步,一般的应该程序都要带第三方jar檔,同步骤5一样即可,结果如图6.第7步,你系统的JRE版本,上面填个1.5,下面不填也行,如图7:如图7当然,这样配置的程序只能在安装有JRE的机器上执行,发布时总要考虑的问题就是用户是否有能力在自己机器上安装JRE,总不能发布一个程序还要用户自己安装个JRE吧,下面我就介绍如何将JDK环境变量动态打包到exe 中,在这里单击advanced options(图7中有,如图8),选择search sequence。
Java项⽬打包成jar⽂件的两种⽅法⽅案⼀:⽤Eclipse⾃带的Export功能步骤1:准备主清单⽂件 “MANIFEST.MF”,由于是打包引⽤了第三⽅jar包的Java项⽬,故需要⾃定义配置⽂件MANIFEST.MF,在该项⽬下建⽴⽂件MANIFEST.MF,内容如下:Manifest-Version: 1.0Class-Path: lib/commons-codec.jar lib/commons-httpclient-3.1.jar lib/commons-logging-1.1.jar lib/log4j-1.2.16.jar lib/jackson-all-1.8.5.jarMain-Class: main.KillCheatFans第⼀⾏是MAINIFEST的版本,第⼆⾏Class-Path就指定了外来jar包的位置,第三⾏指定我们要执⾏的MAIN java⽂件。
这⾥要注意⼏点:1、Class-Path: 和Main-Class: 后边都有⼀个空格,必须加上,否则会打包失败,错误提⽰为:Invalid header field;2、假设我们的项⽬打包后为KillCheatFans.jar,那么按照上⾯的定义,应该在 KillCheatFans.jar的同层⽬录下建⽴⼀个lib⽂件夹(即lib⽂件和打包的jar⽂件在同⼀个⽬录下),并将相关的jar包放在⾥⾯。
否则将会出现“Exception in thread "main" ng.NoClassDefFoundError”的错误;3、Main-Class后⾯是类的全地址,⽐如你的主⽂件是KillCheatFans.java,⽂件⾥打包为package com.main; 那么这⾥就写com.main.KillCheatFans,不要加.java后缀,主⽂件地址写错将会出现“找不到或⽆法加载主类”的错误;4、写完Main-Class后⼀定要回车(即最后⼀⾏是空⽩⾏),让光标到下⼀⾏,这样你⽣成的jar包才能找到你的主class去运⾏,否则将会出现“jar中没有主清单属性”的错误。
Java 打可执行jar包及如何加入引用包的方法1.选择项目选择Export
2.选择java->JAR file
3.选择next
4.选择next
5.下一步next
6.然后点击Finish结束
7.引用包的使用在test.jar的目录中建lib(文件夹名字随意命名).把用到的第三方jar包
放进去。
目录如下
打开生成的test.jar用解压缩的方式打开
把META-INF下的MANIFEST.MF文件拉出来。
添加用到的引用包
Class-Path:后面一定要有一个空格。
多个包后面以至少一个空格分开。
后面也一定要有两个空行。
(一定要遵守该格式)
然后把文件导入到test.jar包里,即可打开test.jar且保持了原有的功能。
效果图:
这是利用Http-Client打开新浪微博的例子。
希望能帮到你。
Java 打可执行jar包及如何加入引用包的方法1.选择项目选择Export
2.选择java->JAR file
3.选择next
4.选择next
5.下一步next
6.然后点击Finish结束
7.引用包的使用在test.jar的目录中建lib(文件夹名字随意命名).把用到的第三方jar包
放进去。
目录如下
打开生成的test.jar用解压缩的方式打开
把META-INF下的MANIFEST.MF文件拉出来。
添加用到的引用包
Class-Path:后面一定要有一个空格。
多个包后面以至少一个空格分开。
后面也一定要有两个空行。
(一定要遵守该格式)
然后把文件导入到test.jar包里,即可打开test.jar且保持了原有的功能。
效果图:
这是利用Http-Client打开新浪微博的例子。
希望能帮到你。