Java 启动时未在windows注册表中执行相对路径?
我想在windows启动时运行jar文件。我成功地在注册表中创建了一个条目 jar文件在系统启动时成功运行 但问题是,文件以绝对路径成功运行。 示例路径如下所示: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 但是我想用相对路径运行这个文
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()替换为“/”。