Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 启动时未在windows注册表中执行相对路径?_Java_Windows_Jar_Registry - Fatal编程技术网

Java 启动时未在windows注册表中执行相对路径?

Java 启动时未在windows注册表中执行相对路径?,java,windows,jar,registry,Java,Windows,Jar,Registry,我想在windows启动时运行jar文件。我成功地在注册表中创建了一个条目 jar文件在系统启动时成功运行 但问题是,文件以绝对路径成功运行。 示例路径如下所示: C:\Users\...\Desktop\Jars\myJar.jar D:\Users\...\ProjectName/Jars/myJar.jar //path by using getCanonicalPath() method , stored in registry 但是我想用相对路径运行这个文

我想在windows启动时运行jar文件。我成功地在注册表中创建了一个条目

jar文件在系统启动时成功运行

但问题是,文件以绝对路径成功运行。 示例路径如下所示:

C:\Users\...\Desktop\Jars\myJar.jar
D:\Users\...\ProjectName/Jars/myJar.jar              //path by using getCanonicalPath() method , stored in registry
但是我想用相对路径运行这个文件。我在eclipse中开发了应用程序,获得了“myJar2.jar”的路径,并在myJar.jar文件中执行

我通过调用getCanonicalPath()方法获得“myJar2.jar”文件的路径。在注册表中,它将显示以下路径:

C:\Users\...\Desktop\Jars\myJar.jar
D:\Users\...\ProjectName/Jars/myJar.jar              //path by using getCanonicalPath() method , stored in registry
如何在系统启动时使用上述相对路径运行“marJar.jar”


提前感谢…

D:\Users\…\ProjectName/Jars/myJar.jar
这不是有效的路径,因为它同时包含
'/'
'\'
。消除其中任何一个

要更正路径中的
'\'
'/'
,请使用以下命令:

String path = <some_path_here>;
path = path.replaceAll("\", File.pathSeparator);
path = path.replaceAll("/", File.pathSeparator);
字符串路径=;
path=path.replaceAll(“\”,File.pathSeparator);
path=path.replaceAll(“/”,File.pathSeparator);

使用getCanonicalPath()方法获取路径时,将使用“\”。如果发生这种情况,则使用replaceAll()替换为“/”。