Eclipse rcp 从快捷方式运行时未创建文件夹

Eclipse rcp 从快捷方式运行时未创建文件夹,eclipse-rcp,installation,nsis,Eclipse Rcp,Installation,Nsis,目前,我正在测试针对Windows平台(XP及以上)的EclipseRCP应用程序 我在运行时生成HTML页面。为了保存这些HTML页面,我还在运行时创建了一个文件夹 该文件夹是在exe文件所在的同一级别创建的。 下面是应用程序目录结构的外观: MyApplication | |--MyApplication.exe |--Myapplication.ini |--artifacts.xml |--uninstall.exe |--configur

目前,我正在测试针对Windows平台(XP及以上)的EclipseRCP应用程序

我在运行时生成HTML页面。为了保存这些HTML页面,我还在运行时创建了一个文件夹

该文件夹是在exe文件所在的同一级别创建的。 下面是应用程序目录结构的外观:

MyApplication
    |
    |--MyApplication.exe
    |--Myapplication.ini
    |--artifacts.xml
    |--uninstall.exe
    |--configuration
    |--p2
    |--plugins
    |--workspace
    |--cache    (user defined folder)
         |
         |--system  (this is the runtime created folder, generated HTML pages are saved here)
           |
           |--- 
以下是在运行时创建文件夹的代码:

String currentPath=System.getProperty("user.dir");
File folder = new File(currentPath+"/cache/system");
这一切都很好。 现在使用NSIS脚本,我在两个位置为“.exe”创建了快捷方式——一个在用户桌面上,另一个在StartMenu中

问题是,如果我从快捷方式运行应用程序,则不会创建文件夹。 应该做些什么来解决这个问题

创建快照的脚本是:

CreateShortcut "$SMPROGRAMS\$StartMenuGroup\MyApplication.lnk" "$INSTDIR\MyApplication.exe"
CreateShortcut "$DESKTOP\MyApplication.lnk" "$INSTDIR\MyApplication.exe"
非常感谢您的任何意见/建议/解决方案。

  • 您应该使用一个简单的
    println()
    或其他工具,在运行时检查用于
    文件的路径是否正常

  • 你真的调用文件夹创建吗?在这里,您只需显示路径是什么。要创建文件夹,请不要忘记调用
    mkdir()
    (或
    mkdirs()
    获取完整路径)

  • 在NSIS端:快捷方式的“工作目录”可能错误。当NSIS处理
    CreateShortcut
    指令时,工作目录是从当前的
    $OUTDIR
    设置的

    为了确保设置快捷方式的工作目录字段,可以使用
    SetOutPath
    强制设置目录。要使用安装应用程序的目录,只需使用
    $INSTDIR

    SetOutPath $INSTDIR
    

    • 我能看到的一个问题是:
      如果您的安装位置位于C:\Program Files。。。。然后您可能必须以管理员身份启动eclipse。

      问题在于我的Java代码。当我从快捷方式启动应用程序时,代码
      System.getProperty(“user.dir”)
      将快捷方式位置视为安装目录。接受你的回答。谢谢。@JoeYo:不客气:)您是否尝试过通过在快捷方式中手动设置工作目录来更改
      user.dir
      属性?如果是,请尝试在nsis中修复快捷方式创建。如何在快捷方式中手动设置工作目录?你指的是快捷方式指向的目标吗?这里的问题来自编程方面。。。所以我就这样做了。@JoeYo:我指的是在使用快捷方式时调用目标的目录。它是目标路径的附加设置。当nsis创建快捷方式时,它从当前输出路径设置。