导航:首页 > 编程语言 > javatojar

javatojar

发布时间:2022-07-24 03:13:34

1. java 如何引入 jar包

andriod中如果引入jar包的方式不对就会出现一些奇怪的错误。
工作的时候恰好有一个jar包需要调用,结果用了很长时间才解决出现的bug。
刚开始是这样引用的(eclipse):
右键工程,Build path,java build path,
选择libraries,在右边的按钮中点击“Add External JARs”,
然后选择合适的jar包(大部分人应该会这样做).
结果控制台立刻报错:conversion to dalvik format failed with error 1。
而且项目上还会出现红叉,虽然项目里并没有错误。
clean一下,项目正常,但是bin里的apk文件和dex文件都没了,运行项目出现错误:Can not find **.apk后来找到原因是因为导入jar包的方式不对,
正确的方法如下:
1,右键工程, Build path, java build path,
2,选择libraries在右边的按钮中点击“Add Library”
3,选择“User library”,点击“下一步”
4,点击“User librarys”按钮在出现的界面中点击“New..”按钮
在弹出的界面中随便起一个名字,点击“确定”
5,点击“Add jars”按钮选择第三方jar包,
点击“确定”完成操作。这样的话该jar包会被一起打包到apk中,问题也就解决了!

2. 怎样把自己编写的java程序变成jar可执行文件能举个例子么

把自己编写的java程序变成jar可执行文件的步骤如下:

1.最简单直接的方法,选择想打包的程序,右键export...

4.在机器上,设置好Jar文件的打开方式(别默认用解压缩的工具打开就行),双击即可运行。

3. java -jar命令

功能说明:
Java归档工具

语法:
jar [ 命令选项 ] [manifest] destination input-file [input-files]

补充说明:
jar工具是个java应用程序,可将多个文件合并为单个JAR归档文件。jar是个多用途的存档及压缩工具,它基于ZIP和ZLIB压缩格式。然而, 设计jar的主要目的是便于将java applet或应用程序打包成单个归档文件。将applet或应用程序的组件(.class 文件、图像和声音)合并成单个归档文件时,可以用java代理(如浏览器)在一次HTTP事务处理过程中对它们进行下载,而不是对每个组件都要求一个新连 接。这大大缩短了下载时间。jar还能压缩文件,从而进一步提高了下载速度。此外,它允许applet的作者对文件中的各个项进行签名,因而可认证其来 源。jar工具的语法基本上与tar命令的语法相同。

命令选项
-c 在标准输出上创建新归档或空归档。

-t 在标准输出上列出内容表。

-x[file] 从标准输入提取所有文件,或只提取指定的文件。如果省略了file,则提取所有文件;否则只提取指定文件。

-f 第二个参数指定要处理的jar文件。在-c(创建)情形中,第二个参数指的是要创建的jar文件的名称(不是在标准输出上)。在-t(表(或-x(抽取)这两种情形中,第二个参数指定要列出或抽取的jar文件。

-v 在标准错误输出设备上生成长格式的输出结果。

-m 包括指定的现有清单文件中的清单信息。用法举例:“jar cmf myManifestFile myJarFile *.class”

-0 只储存,不进行 ZIP 压缩。

-M 不创建项目的清单文件。

-u 通过添加文件或更改清单来更新现有的 JAR 文件。例如:“jar -uf foo.jar foo.class”将文件 foo.class 添加到现有的JAR文件foo.jar中,而“jar umf manifest foo.jar”则用manifest中的信息更新foo.jar的清单。

-C 在执行 jar 命令期间更改目录。例如:“jar -uf foo.jar -C classes *”将classes目录内的所有文件加到foo.jar中,但不添加类目录本身。

程序示例
1:将当前目录下所有CLASS文件打包成新的JAR文件:
jar cf file.jar *.class

2:显示一个JAR文件中的文件列表
jar tf file.jar

3:将当前目录下的所有文件增加到一个已经存在的JAR文件中
jar cvf file.jar *

4. java怎么转化成jar以及jar简介

在cmd 里输入命令(当然得把需要的文件放在当前工作目录)
jar -cf 生成的文件名(需要后缀jar) 需要打包的文件集
例子 jar -cf abc.jar a.class b.class c.class
上例打包后会生成 abc.jar但是还不能运行,因为在生成的包中的清单文件没有指定主类,这个也是你在eclipse直接做jar不能运行的原因(已经回答了两个哦)。
现在指定主类,自己用记事本写两行文字:
Main-class:主类名 (不带class)[例如Main-class:a]
Sealed:true

保存为temp.mf(当然可以为其他名字,但是后缀必须为.mf)
然后用以下命令
jar -uvmf temp.mf abc.jar (当然,后面的文件要按你的实际情况来写)
就可以了。
请注意 我已经回答两个问题了哦
你试试

5. 怎么导入java的第三方jar包

首先要看你新建的是什么项目

java项目:在项目上右键“new”->“Folder”->取名为“lib”,将jar包考进去。然后对着jar包右键,“Build Path”->“Add To Build Path”就可以了

web项目:在WebContent目录下的WEB-INF目录下新建一个名为“lib”的文件夹,将jar包之间拷贝进去就可以了,不用有其他操作。
maven项目,在pom.xml中添加依赖就可以了

6. eclipse可以把java程序如何导出打包成.jar文件

如果自己的java project中需要引用额外的jar包作为资源文件,那么需要自定义配置文件MANIFEST.MF ,例如:

Manifest-Version: 1.0

Class-Path: libcrimson.jar libjbcl.jar libjunit.jar liblog4j-1.2.13.jar libmysql-connector-java-3.1.13-bin.jar

Main-Class: src.YourMainClassName

其中的Class-Path就指定了外来jar包的位置。请注意假设我们的项目打包后为project.jar,那么按照上面的定义,应该在 project.jar的同层目录下建立一个lib文件夹,并将相关的jar包放在里面。否则将会出现Exception in thread "main" java.lang.NoClassDefFoundError的错误。

如果想在所导出的jar包中包含第三方jar包,可以如下操作:

  1. 在工程目录下放入第三方jar包

  2. 2.Class-Path: name.jar

  3. 上诉两个步骤就可以成功导出引用了jar包的java工程,并将第三方jar包放在导出的工程中

  4. 注意:如果在Class-Path 中引入比较多的jar包,不要写成一行,不然会报:java.io.IOException : line too long ,需要分多行写,第二行以及下面的第三行、第四行写的时候需要在前面空两格(敲两下空格键)即可

  5. 最后介绍一下使用Eclipse制作jar包的过程吧:

  6. 1. 首先在Eclipse中打开项目, 右键点击项目,选择“Export”;

  7. 2. 选择Java/JAR file,Next;

  8. 3. Select the resources to export中可以选择你想要包含的项目文件夹,一些不必要的文件夹就无需放进去了,免得增大空间;

  9. 这里有几个选项:

  10. * Export generated class files and resources 表示只导出生成的.class文件和其他资源文件

  11. * Export all output folders for checked projects 表示导出选中项目的所有文件夹

  12. * Export java source file and resouces 表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了

  13. * Export refactorings for checked projects 把一些重构的信息文件也包含进去

  14. 在Select the export destination中选择导出的jar的路径,Next

  15. 4. 下一页可以选择是否导出那些含有警告warning或者错误errors的*.class文件。一般不用理他,Next

  16. 5. 下一个页面里可以对项目做一些配置。

  17. * Generate the manifest file是系统帮我们自动生成MANIFEST.MF文件,如果你的项目没有引用其他class-path,那可以选择这一项。

  18. * Use existing mainfest from workspace。这是可以选择我们自定义的.MF文件,格式如上所写。

  19. * Seal content。要封装整个jar或者指定的包packet

  20. * Main class。这里可以选择你的程序入口,将来打包出来的jar就是你这个入口类的执行结果。

  21. 最后Finish 完成

7. JAVA打包jar文件的方法,高分相求

^^java教程^^《制作可执行JAR》本文阐述了如何把一个不可执行的JAVAArchive(JAR)文件变成可执行,而不用直接操作manifest文件。你会学到写出短小的一个程序,通过运行java-jar命令或在像windows一样的操作系统里面用双击鼠标运行任何JAR文件。

你可以很容易地把应用程序的一整套class文件和资源文件打包到一个JAR中。事实上这就是jar文件存在的一个目的。另外一个目的就是让用户能很容易地执行被打包到jar文件里面的应用程序。那么为什么jar文件仅仅作为文件在整个java里面占据了次要的地位,而本地执行则被忽视?

要执行一个jar文件,你可以使用java命令的-jar选项。举一个例子来说,假如你有个名叫myjar.jar的文件。这个jar是可以运行的,你可以运行它:java-jarmyjar.jar.另外一个办法就是,当JavaRuntimeEnvironment(JRE)已经被安装到一个像windows的操作系统上,将jar文件与JVM关联(关联java.exe跟jar文件)在一起你就可以通过双击jar来运行这个应用程序。当然,jar文件必须是可执行的。

现在的问题是:如何做一个可以执行的jar?

manifest文件以及Main-class入口

在大多数jar中,都在一个叫META-INF的目录里面保存了一个叫MANIFEST.MF的文件。那个文件里面,

包含了一个特殊表项名字叫Main-Class,告诉java-jar命令应该执行哪个class.
问题是你必须为manifest文件手工加入适当表项,而且必须在一定的位置和用一定的格式。不幸的是,不是每个人都喜欢打开写字板编辑配置文件。

让API帮你完成任务

自从java1.2发布以来,一个叫java.uil.jar包的出现,让你能够方便处理jar文件。(注意:该包基于java.util.zip)特别地,jar包让你通过Mainfest类,可以容易操作那些manifest文件.

就让我们用这个API写一个程序吧。首先,这个程序必须知道三样东西:

1。我们要使之可运行的jar文件。
2。运行jar的主类(这个类必须包含在jar中)。

3。输出新jar文件的文件名,因为我们不能简单地覆盖原来的文件。

编写程序

上面列表的三点要求将组成我们的程序的参数。现在,让我们为这个程序选择一个适当的名字。

MakeJarRunnable听起来觉得怎样?

为main方法检查参数

假设我们的main方法入口点是一个标准的main(String[])方法。我们应该这样检查程序的参数:

if(args.length!=3){
System.out.println("Usage:MakeJarRunnable" "<jarfile><Main-Class><output>");

System.exit(0);

}

请注意参数列表是如何描述的,因为这在以下代码中是很重要的。参数的次序和内容不是固定的;

然而,如果你要改变他们的话,要记住响应修改其他代码。

访问jar和jar的manifest文件

第一,我们必须创建一些了解jar和manifest的对象:

//CreatetheJarInputStreamobject,andgetitsmanifest

JarInputStreamjarIn=newJarInputStream(newFileInputStream(args[0]));

Manifestmanifest=jarIn.getManifest();

if(manifest==null){

//

manifest=newManifest();

}

设置Main-Class属性

我们把Main-Class入口放到manifest文件的main属性部分。一旦从manifest对象获得这个属性,就可以设置需要的mainclass。然而,如果main-Class属性已经存在原来的jar当中又如何呢?这里我们只是简单地输出一个警告然后退出。我们能加入一个命令行参数告诉程序使用新的值,而代替了旧的那个:

Attributesa=manifest.getMainAttributes();

StringoldMainClass=a.putValue("Main-Class",args[1]);

//Ifanoldvalueexists,telltheuserandexit

if(oldMainClass!=null){

System.out.println("Warning:oldMain-Classvalueis:"

oldMainClass);

System.exit(1);

}

输出新的JAR

我们需要创建一个新的JAR文件,所以我们必须使用JarOutputStream类。注意:

我们必须确定我们不用跟输入文件相同的名字作为输出文件的名字。还有一个方案就是,程序应该考虑到一种情况,就是两个jar文件都是相同的,促使用户覆盖原来的文件,如果他愿意这么做的话。然而,我在保留了这一点,作为读者的一个练习。从如下代码开始:

System.out.println("Writingto" args[2] "...");

JarOutputStreamjarOut=newJarOutputStream(newFileOutputStream(args[2]),manifest);

我们必须从输入JAR写每个表项到输出的JAR,所以迭代每个表项:

//

byte[]buf=newbyte[4096];

//Iteratetheentries

JarEntryentry;

while((entry=jarIn.getNextJarEntry())!=null){

//

if("META-INF/MANIFEST.MF".equals(entry.getName()))continue;

//WritetheentrytotheoutputJAR

jarOut.putNextEntry(entry);

intread;

while((read=jarIn.read(buf))!=-1){

jarOut.write(buf,0,read);

}

jarOut.closeEntry();

}

//Flushandcloseallthestreams

jarOut.flush();

jarOut.close();

jarIn.close();

完成程序

当然,我们必须把这些代码放到一个类的main方法里面,并且需要一大堆import代码。完整程序:

http://www.javaworld.com/javaworld/javatips/javatip127/MakeJarRunnable.zip

程序使用例子

让我们把这个程序应用到一个例子里面来。假设你有一个应用程序,该程序的入口点是一个叫HelloRunnableWorld的类,再假设你已经创建了一个jar叫myjar.jar,包含了整个程序。运行MakeJarRunnable:

javaMakeJarRunnablemyjar.jarHelloRunnableWorldmyjar_r.jar

正如前面提到的,注意一下我的参数顺序。如果你忘记了顺序,没有参数运行一下程序,它会响应出现一个用法提示信息。

尝试对myjar.jar运行java-jar命令。然后对myjar_r.jar。注意区别不同!好了,你完成了这一切了,浏览一下每个jar的manifest文件(META-INF/MANIFEST.MF)

8. 怎么把java文件打包成jar文件

jar
Picked up JAVA_TOOL_OPTIONS: -Duser.language=en
Usage: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
Options:
-c create new archive
-t list table of contents for archive
-x extract named (or all) files from archive
-u update existing archive
-v generate verbose output on standard output
-f specify archive file name
-m include manifest information from specified manifest file
-e specify application entry point for stand-alone application
bundled into an executable jar file
-0 store only; use no ZIP compression
-P preserve leading '/' (absolute path) and ".." (parent directory) components from file names
-M do not create a manifest file for the entries
-i generate index information for the specified jar files
-C change to the specified directory and include the following file
If any file is a directory then it is processed recursively.
The manifest file name, the archive file name and the entry point name are
specified in the same order as the 'm', 'f' and 'e' flags.

Example 1: to archive two class files into an archive called classes.jar:
jar cvf classes.jar Foo.class Bar.class
Example 2: use an existing manifest file 'mymanifest' and archive all the
files in the foo/ directory into 'classes.jar':
jar cvfm classes.jar mymanifest -C foo/ .

9. java怎么打包成jar

^^java教程^^《制作可执行JAR》本文阐述了如何把一个不可执行的 JAVAArchive(JAR)文件变成可执行,而不用直接操作manifest文件。你会学到写出短小的一个程序,通过运行java-jar命令或在像windows一样的操作系统里面用双击鼠标运行任何JAR文件。

你可以很容易地把应用程序的一整套class文件和资源文件打包到一个JAR中。事实上这就是jar文件存在的一个目的。另外一个目的就是让用户能很容易地执行被打包到jar文件里面的应用程序。那么为什么jar文件仅仅作为文件在整个java里面占据了次要的地位,而本地执行则被忽视?

要执行一个jar文件,你可以使用java命令的-jar选项。举一个例子来说,假如你有个名叫myjar.jar的文件。这个jar是可以运行的,你可以运行它:java-jarmyjar.jar.另外一个办法就是,当JavaRuntimeEnvironment(JRE)已经被安装到一个像windows的操作系统上,将jar文件与JVM关联(关联 java.exe跟jar文件)在一起你就可以通过双击jar来运行这个应用程序。当然,jar文件必须是可执行的。

现在的问题是:如何做一个可以执行的jar?

manifest文件以及Main-class入口

在大多数jar中,都在一个叫META-INF的目录里面保存了一个叫MANIFEST.MF的文件。那个文件里面,

包含了一个特殊表项名字叫Main-Class,告诉java-jar命令应该执行哪个class.
问题是你必须为manifest文件手工加入适当表项,而且必须在一定的位置和用一定的格式。不幸的是,不是每个人都喜欢打开写字板编辑配置文件。

让API帮你完成任务

自从java1.2发布以来,一个叫java.uil.jar包的出现,让你能够方便处理jar文件。(注意:该包基于java.util.zip)特别地,jar包让你通过Mainfest类,可以容易操作那些manifest文件.

就让我们用这个API写一个程序吧。首先,这个程序必须知道三样东西:

1。我们要使之可运行的jar文件。
2。运行jar的主类(这个类必须包含在jar中)。

3。输出新jar文件的文件名,因为我们不能简单地覆盖原来的文件。

编写程序

上面列表的三点要求将组成我们的程序的参数。现在,让我们为这个程序选择一个适当的名字。

MakeJarRunnable听起来觉得怎样?

为main方法检查参数

假设我们的main方法入口点是一个标准的main(String[])方法。我们应该这样检查程序的参数:

if(args.length!=3){
System.out.println("Usage:MakeJarRunnable" "<jarfile><Main-Class><output>");

System.exit(0);

}

请注意参数列表是如何描述的,因为这在以下代码中是很重要的。参数的次序和内容不是固定的;

然而,如果你要改变他们的话,要记住响应修改其他代码。

访问jar和jar的manifest文件

第一,我们必须创建一些了解jar和manifest的对象:

//CreatetheJarInputStreamobject,andgetitsmanifest

JarInputStreamjarIn=newJarInputStream(newFileInputStream(args[0]));

Manifestmanifest=jarIn.getManifest();

if(manifest==null){

//

manifest=newManifest();

}

设置Main-Class属性

我们把Main-Class入口放到manifest文件的main属性部分。一旦从manifest对象获得这个属性,就可以设置需要的 mainclass。然而,如果main-Class属性已经存在原来的jar当中又如何呢?这里我们只是简单地输出一个警告然后退出。我们能加入一个命令行参数告诉程序使用新的值,而代替了旧的那个:

Attributesa=manifest.getMainAttributes();

StringoldMainClass=a.putValue("Main-Class",args[1]);

//Ifanoldvalueexists,telltheuserandexit

if(oldMainClass!=null){

System.out.println("Warning:oldMain-Classvalueis:"

oldMainClass);

System.exit(1);

}

输出新的JAR

我们需要创建一个新的JAR文件,所以我们必须使用JarOutputStream类。注意:

我们必须确定我们不用跟输入文件相同的名字作为输出文件的名字。还有一个方案就是,程序应该考虑到一种情况,就是两个jar文件都是相同的,促使用户覆盖原来的文件,如果他愿意这么做的话。然而,我在保留了这一点,作为读者的一个练习。从如下代码开始:

System.out.println("Writingto" args[2] "...");

JarOutputStreamjarOut=newJarOutputStream(newFileOutputStream(args[2]),manifest);

我们必须从输入JAR写每个表项到输出的JAR,所以迭代每个表项:

//

byte[]buf=newbyte[4096];

//Iteratetheentries

JarEntryentry;

while((entry=jarIn.getNextJarEntry())!=null){

//

if("META-INF/MANIFEST.MF".equals(entry.getName()))continue;

//WritetheentrytotheoutputJAR

jarOut.putNextEntry(entry);

intread;

while((read=jarIn.read(buf))!=-1){

jarOut.write(buf,0,read);

}

jarOut.closeEntry();

}

//Flushandcloseallthestreams

jarOut.flush();

jarOut.close();

jarIn.close();

完成程序

当然,我们必须把这些代码放到一个类的main方法里面,并且需要一大堆import代码。完整程序:

http://www.javaworld.com/javaworld/javatips/javatip127/MakeJarRunnable.zip

程序使用例子

让我们把这个程序应用到一个例子里面来。假设你有一个应用程序,该程序的入口点是一个叫HelloRunnableWorld的类,再假设你已经创建了一个jar叫myjar.jar,包含了整个程序。运行MakeJarRunnable:

javaMakeJarRunnablemyjar.jarHelloRunnableWorldmyjar_r.jar

正如前面提到的,注意一下我的参数顺序。如果你忘记了顺序,没有参数运行一下程序,它会响应出现一个用法提示信息。

尝试对myjar.jar运行java-jar命令。然后对myjar_r.jar。注意区别不同!好了,你完成了这一切了,浏览一下每个jar的manifest文件(META-INF/MANIFEST.MF)

10. java如何引入外部jar

命令行方式编译执行:

"C:Program FilesJavajdk1.6.0_45injavac" -cp ".;C:Program FilesJavajdk1.6.0_45lib t.jar" MyApp.java

"C:Program FilesJavajdk1.6.0_45injava" -cp ".;C:Program FilesJavajdk1.6.0_45lib t.jar" MyApp


Eclipse / MyEclipse:

1.

阅读全文

与javatojar相关的资料

热点内容
单片机如何使用proteus 浏览:989
java常用的服务器 浏览:277
集结APP在哪里下载 浏览:800
欧洲cf玩什么服务器 浏览:529
如何连接另一台电脑上的共享文件夹 浏览:681
如何让桌面文件夹搬家到e盘 浏览:73
java自动格式化 浏览:619
ipad怎么查看文件夹大小 浏览:583
手工粘土解压球 浏览:552
在线视频教育源码 浏览:41
快四十学什么编程 浏览:754
gnumakelinux 浏览:537
视易峰云服务器怎么改系统 浏览:535
javamap取值 浏览:768
mac和win磁盘加密软件 浏览:474
苹果为什么会连接不到服务器 浏览:726
pdf格式文件如何保存 浏览:303
小霸王服务器tx什么意思 浏览:75
解释dns命令 浏览:584
dmx512怎么编程 浏览:744