可执行jar 的执行命令为 java -jar myjar.jar,
如果使用了 -jar
选项,那么环境变量 CLASSPATH 和在命令行中指定的所有类路径都被 JVM 所忽略。 如果myjar.jar 调用了其他的jar文件,有下面几种解决方案
解决方案
Java定义了三种级别的class,分别为BootStrap class,Extend Class,User class.
BootStrap class扩展方案
Java 命令行提供了如何扩展bootStrap 级别class的简单方法.
-Xbootclasspath:基本核心的Java class 搜索路径.不常用,否则要重新写所有Java 核心class
-Xbootclasspath/a: 后缀在核心class搜索路径后面.常用.
-Xbootclasspath/p:前缀在核心class搜索路径前面.不常用,避免引起不必要的冲突.
语法如下:
java –Xbootclasspath/a:/path/myclass/account.jar: -jar yourself.jar(Unix用:号隔开)
java –Xbootclasspath:/d:/myclass/account.jar; -jar yourself.jar(Window用;号隔开)
1128 .不知如何,没有测试通过
1128 下午:测试通过 java –Xbootclasspath/a:/d:/myclass/account.jar; -jar yourself.jar(Window用;号隔开)
extend class 扩展方案
Java exten class 存放在{Java_home}\jre\lib\ext 目录下.当调用Java时,对扩展class路径的搜索是自动的.总会搜索的.这样,解决的方案就很简单了,将所有要使用的第三方的jar包都复制到ext 目录下.
该方案测试通过,但是其扩展性较差,也不方便
User class扩展方案
当使用-jar执行可执行Jar包时,JVM将Jar包所在目录设置为codebase目录,所有的class搜索都在这个目录下开始.所以如果使用了其他第三方的jar包,一个比较可以接受的可配置方案,就是利用jar包的Manifest扩展机制.步骤如下
1.将需要的第三方的jar包,复制在同可执行jar所在的目录或某个子目录下.
比如:jar 包在 d:\crm\luncher.jar 那么你可以把所有jar包复制到d:\crm目录下或d:\crm\lib 子目录下.
2.修改Manifest 文件
在Manifest.mf文件里加入如下行
Class-Path:classes12.jar lib/class12.jar
测试通过,但是使用该方法时应注意, Manifest.mf文件必须以空行或回车结尾,否则最后一行可能回解析错误。
参见:http://java.sun.com/docs/books/tutorial/deployment/jar/downman.html
分享到:
相关推荐
可执行JAR(Java Archive)文件是Java编程语言中的一种归档格式,它允许将多个类文件和其他资源打包成一个单一的文件,便于分发和运行。在Java中,一个可执行JAR文件通常包含一个主类,这个主类包含了程序的入口点,...
在Java编程环境中,生成可执行JAR(Java Archive)文件是一项常见的任务,它允许我们将类文件、资源和其他依赖项打包成一个独立的可执行文件。这样,用户无需安装Java环境,只需双击JAR文件即可运行程序。以下是生成...
### Eclipse 项目打包成可执行JAR文件详解 在Java开发过程中,经常需要将开发完成的应用程序打包成可执行的JAR文件以便于部署和分发。本文将详细介绍如何使用Eclipse IDE将Java项目打包成可执行的JAR文件。 #### ...
在IT行业中,非可执行JAR包的Windows BAT执行脚本是一种常见的技术实践,它允许开发者在不直接运行Java应用程序的情况下调用JAR文件中的功能。这种方法尤其适用于那些需要通过命令行界面(CLI)交互或者批处理任务的...
### 使用 Built Fat Jar 制作可执行 JAR 文件详解 #### 一、概述 在 Java 开发中,经常需要将项目打包成...注意,在设置过程中一定要仔细检查 Main-Class 和 Class-Path 的配置,这是成功生成可执行 JAR 文件的关键。
标题中的“ant将依赖的jar包和classes文件一起打成可执行jar”指的是使用Apache Ant工具来构建一个包含依赖库和编译后类文件的Java应用程序可执行JAR文件。Ant是一个基于XML的构建工具,它允许开发者通过定义任务来...
当使用`-jar`选项运行可执行JAR时,JVM仅使用APPClassLoader,并且仅从该JAR中查找类,忽略了CLASSPATH和其他类路径设置,这就是为何在可执行JAR中无法加载第三方JAR的原因。 为了解决这个问题,我们可以采用以下几...
Java 代码打包成 JAR 文件以及转换为 EXE 可执行文件 本篇博客旨在教您如何将 Java 代码打包成 JAR 文件,并将其转换为 EXE 可执行文件。以下是详细的步骤和知识点: Step 1:将 Java 项目打包成可执行 JAR 文件 ...
"Fatjar"工具就是这样一个解决方案,它可以帮助开发者将所有的依赖库、类文件和资源文件整合到一个单一的JAR文件中,形成一个可以直接运行的"可执行jar包"。 Fatjar工具的出现解决了传统jar打包时依赖库分离的问题...
- 如果 JAR 文件包含第三方库,需要确保这些库在运行时能够被正确地加载,这可能涉及到设置 `Class-Path` 属性或者使用 `-cp` 或 `-classpath` 参数。 - 使用 `jar` 命令时,确保路径和文件名的大小写正确,因为文件...
7. **可执行JAR**:通过特定的配置,如使用Maven的`one-jar`或`spring-boot-maven-plugin`,可以创建一个可以直接运行的JAR,它会自动包含运行所需的类和依赖。 综上所述,这篇博客可能涵盖了如何创建、配置、执行...
这时,我们可以借助第三方工具如exe4j,将.jar文件转换为Windows平台下的.exe可执行文件,使得非Java环境的用户也能轻松运行我们的程序。本文将深入探讨如何利用.jar文件和exe4j创建.exe可执行文件。 首先,我们...
接着,选择 MANIFEST.MF 文件,并指定“Main-Class”来达到可执行 jar 文件的目的。 知识点二:MANIFEST.MF 文件 MANIFEST.MF 文件是 jar 文件的清单文件,用于指定 jar 文件的元数据。其中,Main-Class 用于指定...
### Java中的Path与Classpath设置详解 在Java开发过程中,正确配置环境变量是十分重要的一步。其中,`path`和`classpath`是最为关键的两个环境变量,它们直接影响到Java程序能否正常编译和运行。 #### 一、Path 的...
PATH 环境变量是操作系统的环境变量,它的设置内容是可执行文件的路径。例如,PATH=...;%JAVA_HOME%\bin。 设置 PATH 环境变量的作用是为了告诉操作系统_where_to_find_可执行文件。例如,当我们在命令行中输入 ...
首先,我们来看一下生成可执行JAR包的需求: 1. 整个项目被打包成一个ZIP文件,包含应用程序、其依赖的JAR包和说明文档。 2. JAR包应可执行,可以从不同类中的Main函数启动。 3. 项目源码和第三方依赖的JAR包要分开...
该函数用于检查给定的jar文件是否存在且可读,如果满足条件,则将其添加到`CLASSPATH`中。具体实现步骤如下: 1. **参数检查**:首先判断传入的参数`$1`是否表示一个可以访问的文件。 2. **路径添加**:若文件存在...
Java 制作可执行文件是指将 Java 源代码编译成可执行的文件,例如可执行的 JAR 文件包。要制作可执行文件,需要使用 JDK 的 jar 命令将 Java 类文件打包成 JAR 文件,并在 MANIFEST.MF 文件中指定 Main-Class 项,...
- 指明 Java 类文件的搜索路径,包括可执行 JAR 文件和目录等。 - Java 应用程序运行时,JVM 会根据 classpath 加载指定路径下的所有类文件。 2. **Classpath 的组成**: - 通常包括 JDK 安装目录下的 lib 目录...