Единый способ доступа к% ProgramFiles (x86)% в 32-битной Vista и 64-битной Win 7 - PullRequest
3 голосов
/ 21 марта 2011

Я разрабатываю Java-приложение и разворачиваю его с помощью командного файла. На работе я использую Vista 32 bit, а дома использую win 7 64 bit. Пакетный файл вызывает java.exe для выполнения некоторых задач

Из-за некоторых проблем с Netbeans я вынужден заниматься разработкой на 32-битной java (как дома, так и на работе), поэтому дома у меня установлен 32-битный jdk в% ProgramFiles (x86)%, на котором я сделать мою разработку, а также 64-битный JRE в% ProgramFiles% (который используется для других вещей)

Существует ли какой-либо единый способ доступа к 32-разрядной папке на рабочем и домашнем компьютерах, поэтому мне не нужно иметь две копии пакетных файлов (домашняя, вызывающая java.exe в% ProgramFiles (x86)% и офисный вызывающий по умолчанию java.exe (в% ProgramFiles%)

Ответы [ 2 ]

3 голосов
/ 21 марта 2011

Мы делаем что-то вроде этого:

set programfiles32=%programfiles(x86)%
if "%programfiles32%"=="" set programfiles32=%programfiles%

copy foo.dll "%programfiles32%"
2 голосов
/ 21 марта 2011

Это может вас удивить, но когда вы выполняете java.exe или javaw.exe без указания пути, он выполняет копию в C:\Windows\system32.Эти копии на самом деле являются перенаправителями, которые читают разделы реестра, чтобы определить последнюю установленную версию Java.Однако его можно переопределить с помощью переменной среды JAVA_HOME.

Вы можете установить переменные среды для каждого пользователя или всей системы в Windows на панели управления, вкладке «Система», «Дополнительно», кнопке «Переменные среды» ... илипо крайней мере, там он находится на моей рабочей машине XP.Кажется, я помню, что он все еще находится в том же месте на моей домашней машине с Win7.

Редактировать: я забыл упомянуть об этом, но значение JAVA_HOME должно быть путем к главному каталогу для вашей JVM / JDK,Для моего 32-битного XP dev box это C:\Program Files\Java\jdk1.6.0_24, потому что моим инструментам dev нужен доступ к исполняемым файлам из JDK.

...