Mi JAVA_HOME
en mi máquina de desarrollo, que es Windows 7 Pro 64 Bit, apunta a un Java de 64 bits, y eso está bien en general. Sin embargo, acabo de instalar un programa, a saber, el IDE de FlashDeveloper, para el que esta configuración no está bien: en su lugar, se requiere un Java de 32 bits, y la JAVA_HOME
configuración evita que se recoja el Java de 32 bits.
Por lo tanto, me gustaría desarmar JAVA_HOME
justo antes de iniciar Flash IDE.
Una forma de lograr esto sería a través de un script por lotes.
¿Pero no hay una mejor manera? Busqué en las diversas pestañas de la ventana de propiedades de acceso directo de Windows para dicha opción, pero parece que no hay ninguna. (Sin embargo, descubrí una casilla de verificación para ejecutar el programa a través del acceso directo como Administrator
.) ¿Alguna sugerencia?
Actualización: solución que funcionó para mí
:: type "C:\Program Files (x86)\FlashDevelop\FlashDevelop.bat"
@ECHO OFF
SETLOCAL
REM Prevent wrong 64-bit JVM from being picked up:
SET JAVA_HOME=
CALL "%~dpn0.exe"
Eso abrirá un símbolo del sistema que luego puedo cerrar. Puede hacer que el acceso directo tenga el ícono del ejecutable al que está llamando desde el símbolo del sistema, indicando al shell a través de las propiedades del atajo que busque un icono dentro del ejecutable real.
No pude lograr que las soluciones involucraran el START
trabajo, lo que abre una nueva cmd.exe
ventana en mi máquina cuando se pasa lo siguiente (no tengo idea de por qué):
start "C:\Program Files (x86)\FlashDevelop\FlashDevelop.exe"
Debo decir que mi cmd.exe
está sintonizado , eso podría tener una influencia aquí y allá.
Actualización sobre el start
problema: como se puede aprender siguiendo el enlace en los comentarios, el start
comando usa los primeros argumentos entre comillas como el título de las ventanas que se crearán ... Entonces, al pasar una ruta entre comillas, se interpretará mal como el Título de la nueva ventana. La solución consiste en proporcionar un título explícito como primer argumento, que también puede estar vacío ( start "" "some path\with spaces"
).
Respuestas:
Perdón por revivir un hilo antiguo, pero pensé que esto probablemente podría ayudar a las personas que buscan una solución a este problema:
Puede anular su ruta JAVA_HOME directamente en su FlexSDK. Para hacer esto, navegue a la carpeta 'bin /' de su SDK (debe estar en 'C: \ Archivos de programa (x86) \ FlashDevelop \ Tools \ flexsdk \' si deja que el instalador FD lo configure por usted, de lo contrario probablemente sepa donde está) y abra 'jvm.config'.
fuente
Creo que no creo que pueda hacerlo en el acceso directo en sí, por lo que el acceso directo debe apuntar a algo que establezca la variable y luego inicie su programa. Por supuesto, hay infinitas formas de hacerlo, pero el script de comando es probablemente el más simple.
Si usa
start command.exe
en su archivo bat, obtendrá una ventana de comando parpadeando, pero no se quedará.Actualización: en realidad funciona para poner esto como un objetivo de acceso directo.
Actualización 2: Eso no funcionó con un espacio en la ruta de comando. ¡Pero esto sí!
fuente
Tenga en cuenta que
set
solo es temporal, por lo que puede poner lo siguiente en un lote:fuente