首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当jar需要外部文件时,无法使用Desktop.getDesktop().open(new File("C:/path/firefox.jar"););执行jar文件

当jar文件需要使用外部文件时,无法直接使用Desktop.getDesktop().open(new File("C:/path/firefox.jar"))方法来执行jar文件。这是因为Desktop.getDesktop().open()方法主要用于打开文件,而不是执行可执行文件。

要执行jar文件并使用外部文件,可以使用以下方法:

  1. 使用命令行执行:打开命令行终端,进入jar文件所在的目录,然后使用java -jar filename.jar命令来执行jar文件。在jar文件中,可以使用相对路径或绝对路径来引用外部文件。
  2. 在Java代码中使用ProcessBuilder类:可以使用ProcessBuilder类来创建一个新的进程,并执行jar文件。同时,可以设置进程的工作目录,以便jar文件可以正确地引用外部文件。以下是一个示例代码:
代码语言:java
复制
import java.io.File;
import java.io.IOException;

public class ExecuteJarWithExternalFile {
    public static void main(String[] args) {
        String jarFilePath = "C:/path/yourjarfile.jar";
        String externalFilePath = "C:/path/yourfile.txt";

        ProcessBuilder processBuilder = new ProcessBuilder("java", "-jar", jarFilePath);
        processBuilder.directory(new File(jarFilePath).getParentFile());

        try {
            Process process = processBuilder.start();
            process.waitFor();
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}

在上述代码中,jarFilePath变量表示jar文件的路径,externalFilePath变量表示外部文件的路径。ProcessBuilder类会创建一个新的进程,并在指定的工作目录中执行jar文件。这样,jar文件就可以使用相对路径来引用外部文件。

请注意,以上方法只是执行jar文件并使用外部文件的一种方式。具体的实现方式可能会因实际需求和环境而有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring 框架相关漏洞合集 | 红队技术

文件中新加入一个 tag,叫做 input: input /WEB-INF/tags/InputTag.tag</path...该SourceHttpMessageConverter处理器不会禁用外部实体解析,这使远程攻击者可以读取任意文件传输 xml 结构体,如 <?...vulhub 提供的脚本,但是此脚本并不具备通用性,需要修改使用poc CVE-2018-1271 Spring MVC 目录穿越漏洞 Spring MVC 的静态资源存放在 Windows 系统上...此漏洞触发条件较高: Server 运行于 Windows 系统上 从文件系统提供的文件服务(比如使用 file 协议,但不是 file open) 没有使用 CVE-2018-1199 漏洞的补丁 不使用...受害者点击如上的地址,会下载一个.cmd执行文件。原来spring对这种问题的处理是添加后缀为txt来改变文件的可执行效果。

6.3K21
  • 基于 Spark 的数据分析实践

    ); ParquetFileReaderreader = ParquetFileReader.open( HadoopInputFile.fromPath(new Path("hdfs:...可左右滑动查看代码 hdfs 上传了spark 依赖 jar ,通过spark.yarn.jars 可看到日志 spark 无须每个job 都上传jar,可节省启动时间 19/06/1114:08...,使用逗号分隔,字段后可紧跟该字段的类型,使用冒号分隔; Delimiter 为每行的分隔符; Path 用于指定文件地址,可以是文件,也可是文件夹; Path 指定地址需要使用协议,如:file://...整个框架完成了大多数的外部系统对接,开发者只需要使用 type 获得数据,完成数据开发后通过 target 回写到目标系统中。...但是每天有 60% 以上的数据都需要更新,建议还是一次性生成新表。 问5: blink和flink 应该如何选取?

    1.8K20

    Android插件化基础1-----加载SD上APK

    一个ClassLoader实例需要加载某个类,它会试图亲自搜索某个类之前,先把这个任务委托给它的父类加载器,这个过程是由上到下依次检查的,首先由最顶层的类加载器,这个过程是由上至下依次检查的,首先由最顶层的类加载器...2 棒棒糖与ART带来的问题 很多人会有疑问,Android5.0开始,默认已经使用ART,弃用Dalvik了,应用程序会在安装被编译成OAT文件,(ART上运行的格式)ODEX还有什么用那?...首先ODEX优化不仅仅只是针对应用程序,还会对内核镜像,jar文件等进行优化。其次,资源和可执行文件分离带来的性能提升无论是运行在ART还是Dalvik,都有效。...该路径不可以为空,且应该是应用私有,有读写权限(实际上也可以使用外部存储空间,但是这样的话,有代码注入风险),可以通过方式来穿件一个这样的路径. 3 String libraryPath 存储C/C+...则没有这个限制,可以从SD卡上加载包含class.dex的jar和.apk文件,也是插件化和热修复的基础,在不需要安装应用的情况下,完成需要使用的dex的加载。

    1.1K30

    JVM中的类加载器

    类加载器   把类加载阶段中的"通过一个类的全限定名来获取描述此类的二进制字节流"这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类,实现这个动作的代码模块称为类加载器。...自定义类加载器   现在有个需求在项目中我们需要加载一个特定目录下的class文件c:\tools\myClassLoader】,这时我们需要自己来定义特定的类加载器。...实现了加载特定目录下的class文件 ClassLoader   上面的代码虽然实现加载特定目录下的class文件,但这么执行的原因是什么呢?...}   所以如果我们需要加载特定的Class文件的时候只需要重写findClass方法即可,而不用去重写loadClass方法。...父加载器反馈无法加载该类(搜索范围中没有找到所需的类),子加载器才会尝试自己去加载。

    46660

    如何下载和安装Selenium WebDriver

    为简单起见,将ZIP文件解压到C盘,C:\ selenium-java-3.141.59\。该目录包含我们稍后将在Eclipse上导入的所有JAR文件。...2.要求选择工作区,只需接受默认位置即可,也可以换成你自己的指定位置。 3.通过File> New> Java Project创建一个新项目。...(添加外部JAR包)” 当你单击“添加外部JAR ...”,它将打开一个弹出窗口,选择要添加的JAR文件。 选择jar包后,单击“确定”按钮。...不同的驱动程序 在Selenium2.0中,HTMLUnit和Firefox是WebDriver可以直接自动化的两种浏览器,这意味着在执行测试需要安装或运行其他单独的组件。...例如,Internet Explorer有自己的驱动程序服务器,您无法在其他浏览器上使用。下面是驱动程序服务器列表以及使用它们的相应浏览器。

    5.9K30

    Android插件化学习之路(三)之调用外部.dex文件中的代码

    至此我们发现,无论加载.jar,还是.apk,其实都和加载.dex是等价的,Android能加载.jar和.apk,是因为它们都包含有.dex,直接加载.apk文件,ClassLoader也会自动把..../apk/dex,可以从SD卡中加载未安装的apk; 2) PathClassLoader:要传入系统中apk的存放Path,所以只能加载已经安装的apk文件使用前,先看看DexClassLoader...File.separator + "test_dexloader.jar");// 外部路径 File dexOutputDir = this.getDir("dex", 0);// 无法直接从外部路径加载....dex文件,并执行里面的代码逻辑了。...虽然我们已经能调用插件的方法了,但是还有如下问题 无法使用res目录下的资源,特别是使用XML布局,以及无法通过res资源到达自适应 无法动态加载新的Activity等组件,因为这些组件需要在Manifest

    1.1K30

    关于WAS当中FFDC报告error in opening zip file剖析及解决 博客分类: Java Strutslog4jIBM

    ProbeId:238 Reporter:java.lang.Class@7c537c91 java.util.zip.ZipException: error in opening zip file...分析: 1、通过对文件的排查,确认排除了应用程序中引用jar文件损坏的可能性以及由于jar文件权限设置导致无法读取的可能性 2、打开跟踪日志级别进行剖析 Application servers >...3 WARNING: could not open /home/xxx/lib/struts/log4j-core.jar : error in opening zip file 0000001e...其次,这些不存在的包是由谁依赖并需要加载的,通过日志的层次关系可以知道,commons-logging.jar需要log4j.jar log4j-core.jar,struts.jar需要jakarta-oro.jar...解决的办法要么增加相应版本所依赖的jar包,要么就是简单地删除Class-Path,根据应用程序的需要进行确认并使用之,[color=red]建议用前者进行解决。

    3.3K30

    springboot 打jar 包部署 读取外部配置文件

    案例:本文主要描述linux系统执行jar包读取jar包同级目录的外部配置文件 方法一:相对路径设置配置文件 (1)在jar包同级目录创建配置文件conf.properties并写入配置数据: confData...:使用相对路径的方法在jar包同级目录手动执行jar没有问题,但使用linux系统的crontab文件定时调度时报错,原因:因为我们手动执行某个脚本,是在当前shell环境下进行的,程序能找到环境变量...;而系统自动执行任务调度,除了默认的环境,是不会加载任何其他环境变量的。...因此就需要在crontab文件中指定任务运行所需的所有环境变量,或者在程序中使用绝对路径。...file = new File(pathName);         FileInputStream fis = new FileInputStream(file);         properties.load

    1.5K00

    springboot 运行 jar 包读取外部配置文件

    ​ 案例:本文主要描述linux系统执行jar包读取jar包同级目录的外部配置文件 方法一:相对路径设置配置文件 (1)在jar包同级目录创建配置文件conf.properties并写入配置数据:...(confData); } } (3)执行jar包 java -jar jarNanexxx 方法二:绝对路径设置配置文件 解决问题:使用相对路径的方法在jar包同级目录手动执行jar...包没有问题,但使用linux系统的crontab文件定时调度时报错,原因:因为我们手动执行某个脚本,是在当前shell环境下进行的,程序能找到环境变量;而系统自动执行任务调度,除了默认的环境,是不会加载任何其他环境变量的...因此就需要在crontab文件中指定任务运行所需的所有环境变量,或者在程序中使用绝对路径。...:"+jarPath); //读取配置文件 Properties properties = new Properties(); File file =

    2.1K20

    Android动态加载入坑指南

    传统的pc端动态加载 熟悉Java的同学应该比较清楚,Java的可执行文件Jar,运行在虚拟机上JVM上,虚拟机通过ClassLoader加载Jar文件执行里面的代码。...所以Java程序也可以通过动态调用Jar文件达到动态加载的目的。 动态加载技术在PC软件领域广泛使用,比如qq上线的时候忘了某个功能的修复,这个时候就可以用动态加载来修复我们的bug。...,但是我们可以在类加载动态加载外部的dex文件来达到动态加载的目的。... java 程序编译成 class 后,编译器会使用 dx 工具将所有的class 文件整合到一个 dex 文件,目的是使其中各个类能够共享数据,在一定程度上降低了冗余,同时也是文件结构更加紧凑。...DexClassLoader 用来加载 .dex 文件以及包含 dex 文件的 .jar、.zip 和未安装的 .apk 文件,因此需要指定优化后的 dex 文件的输出路径; PathClassLoader

    2.2K113

    ANT标签详解

    fileonerror表示碰到错误就自动停止。 6、标签 该标签用来执行编译生成的.class文件,其属性如下: classname 表示将执行的类名。...="true">        Ant的数据类型 在构建文件中为了标识文件文件组,经常需要使用数据类型。...2.ervironment 类型 由Ant构建文件调用的外部命令或程序,元素制定了哪些环境变量要传递给正在执行的系统命令,元素可以接受以下属性: file表示环境变量值得文件名。...,比如在生成JAD文件需要一个Midlet-Jar-Size的参数,得到JAR文件的大小,但是通过内部的task无法实现,因此可以自己编写类来实现此功能,但必须保证该类是从Task类继承过来的。... Ant 遇到生成文件中的一个属性设置,它会寻找相关任务中具有适当名称的方法(称为 setter 方法)。

    98010

    android加载dex方法,android Dex文件的加载

    在dalvik虚拟机上,应用启动只会加载主dex文件,而从dex需要我们手动去加载,那么问题来了,如何手动加载一个dex文件?...Interpreted classes are found in a set of DEX files contained * in Jar or APK files. * * The path lists...官方推荐使用应用私有目录来缓存优化后的dex文件,dexOutputDir = context.getDir(“dex”, 0); libraryPath:动态库的路径,可以为空 parent:ClassLoader.../** * Converts a dex/jar file path and an output directory to an * output file path for an associated...; } 首先调用了findLoadedClass查找当前虚拟机是否已经加载过该类,是则直接返回该class,如果未加载过,则调用父加载器的loadClass方法, 这里采用了java的双亲委派模型,即一个加载器被请求加载某个类

    1.8K20

    python 自动化测试(6):jar包调用

    例如: 在登录页面,获取短信验证码后通过java编写的加密方式存入数据库中;使用python编写自动化脚本调用对应jar包,jar包的内容对应的解密方式,则可以将解密好的内容放入对应输入框内就可以自动化登录了...依赖库 Jpype1 安装 简单的安装方式,使用 Pycharm 编辑器,File --> settings, 如图所示安装即可: ?...使用 1、首先需要一个打包好的jar包,可以自己写;也可以让开发帮助,根据个人情况而定。 2、将jar包放入自己合适的位置,能够访问到就行,绝对路径、相对路径都可以。...import os, jpype get_sms_code_jar_loc_path = "C:\\BianYi\\WorkSpaces\\python\\AutoUpp\\AutoUppCxpay\...\data\\lib\\getsmscode.jar" class RunJar: """ 运行java文件 """ def open_java(self, get_name

    1.2K20
    领券