I guess this is actually unrelated to the 1.8.9.1 -> 1.8.10 update, but rather due to updates in Java and Windows.
Oracle has a habit of thinking they know better than best practices and/or Microsoft guidelines how to install software on Windows machines. One of their genius ideas was to install each Java version in a differently named directory. Obviously this meant that each Java version update would also require updating the PATH environment variable accordingly, which can be a messy business in certain cases. To get around this, a while ago they had another great idea: Instead of adding the actual Java binary directory to the PATH environment variable, they would instead add some standard directory, where they would place symbolic links to the actual Java binaries. Their Java updater would then no longer have to mess with the PATH environment variable anymore, and would instead just replace the symbolic links. However, a few months ago Microsoft identified a security loophole involving the execution of symbolic links via a certain API, and therefore blocked the possibility to execute symlinks in this manner. There is obviously at least one other API that still allows execution of symlinks, but unfortunately Doxygen invokes java via the API that can't execute symlinks anymore. The Windows Explorer is another piece of software that can no longer execute symlinks. My workaround for this issue is to run Doxygen from a batch file invoking the following commands: ----------------------------------------------------------------------- call :JAVA_SYMLINK_FIX ... (run Doxygen) goto :EOF ... :JAVA_SYMLINK_FIX rem set JAVA_EXE to whatever java.exe is found via the path call :FIND_IN_PATH JAVA_EXE java.exe rem set TRUE_JAVA_EXE to the actual file java.exe points to rem (if it is a symlink), or an empty string otherwise call :FIND_SYMLINK TRUE_JAVA_EXE "%JAVA_EXE%" rem if the java.exe found via the path is not a symlink, we're done if "%TRUE_JAVA_EXE%" == "" goto :EOF echo "%JAVA_EXE%" is actually a symlink pointing to "%TRUE_JAVA_EXE%" rem set JAVA_EXE_DIR to the directory in which rem the actual java.exe resides call :SET_DIR JAVA_EXE_DIR "%TRUE_JAVA_EXE%" rem prepend JAVA_EXE_DIR to the path variable set PATH=%JAVA_EXE_DIR%;%PATH% goto :EOF :FIND_IN_PATH set %1=%~dp$PATH:2%2 goto :EOF :FIND_SYMLINK rem Sets the environment variable named by %1 rem to the file pointed to by %2 if that's a symlink. rem Sets the environment variable to an empty string otherwise. set %1= for /F "usebackq tokens=2 delims=[]" %%i in (`dir "%~2" /N`) do set %1=%%i goto :EOF :SET_DIR rem sets the environment variable named by %1 rem to the directory of the file named by %2. set %1=%~dp2 goto :EOF ----------------------------------------------------------------------- Am 19.02.2016 um 22:20 schrieb Vega, Luis A: > Ever since 1.8.10 was release, I'm unable to run doxygen (under Windows) > on anything with a PlantUML diagram. The same files will build without > any problems using Doxygen v 1.8.9.1. > > No matter what I do, or how the PATH enviroment variable is adjusted I > still get: > error: Problems running PlantUML. Verify that the command 'java -jar > "<path>\plantuml.jar" -h' works from the command line (where <path> is > my path to PlantUML, not the actual text). > > As other have notice, the command in itself runs from the command line > without any problem. > > Something changed between 1.8.9.1 and 1.8.10 that broke execution of > Java from within doxygen (on Windows 7). The problem is actually worst > on the Cygwin version of Doxygen (it prefixes the cygwin path of the > running dir to the plantuml.jar path no matter the format). > > Does anybody have any clue on how to fix this problem? > Or can I at least get a little clue on where the change happened so that > I can manually fix the source code? > > Any assistance will be greatly appreciated. > > Note: > I use an environment variable to configure the location of the PlantUML > jar-file since hardcoding would require all users to have direct access > to the path. Here is an example: > > PLANTUML_JAR_PATH = $(PLANTUML_HOME)/plantuml.jar > > > > > > ------------------------------------------------------------------------------ > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 > > > > _______________________________________________ > Doxygen-users mailing list > Doxygen-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/doxygen-users > ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ Doxygen-users mailing list Doxygen-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/doxygen-users