Как я делаю JDK JRE по умолчанию?

Причина, которая static readonly используется вместо const, должна использовать с неуправляемым кодом, как обозначено Microsoft здесь в Общая Исходная Общеязыковая инфраструктура 2.0 Выпуска . Файл для взгляда на sscli20\clr\src\bcl\system\string.cs.

Пустые постоянные хранения значение пустой строки. Мы должны вызвать конструктора String так, чтобы компилятор не отмечал это как литерал.

отмечание это как литерал означало бы, что не обнаруживается как поле, к которому мы можем получить доступ от собственного компонента.

я нашел эту информацию от эта удобная статья в CodeProject.

13
задан Thorbjørn Ravn Andersen 10 October 2014 в 13:56
поделиться

5 ответов

Ответ - «нет», нет способа сделать JDK JVM по умолчанию при установке.

Как указывают другие ответы, вы можете настроить свой путь и JAVA_HOME, чтобы указать на JDK или на другую JVM полностью. Фактически это то, что в первую очередь делает установка Java.

Однако ваша проблема в том, что вы хотите, чтобы был найден tools.jar. Для этого вы можете скопировать его в каталог ext под вашей JVM по умолчанию. Проверьте файловую структуру JDK здесь . Это, вероятно, сработает.

С другой стороны, если изменение переменных JAVA_HOME и PATH для Java кажется вам неприятным, помните, что это всего лишь одна из тех вещей, которые мы делаем, чтобы держать нас в курсе just kidding, sucks that we still have to do this in 2009

14
ответ дан 1 December 2019 в 20:30
поделиться

Попробуйте изменить переменную среды JAVA_HOME, чтобы она указывала на JDK, а не на JRE.

В качестве альтернативы или, возможно, дополнительно добавьте запись PATH в каталог bin JDK перед любой из системных каталогов Windows.

Я подозреваю, что JAVA_HOME достаточно, чтобы Ant заработал, но иногда приятно получить JDK-версию java и т. д. на пути, так что когда вы просто запускаете java из командной строки вы получите точно ту же версию, что и при запуске javac .

2
ответ дан 1 December 2019 в 20:30
поделиться

Вероятно, вы могли бы написать сценарий WSH для автоматического изменения конфигурации пути.

Этот сценарий JScript просто выводит некоторую информацию:

//file:  jdk.js              usage: cscript /Nologo jdk.js
var objShell = WScript.CreateObject("WScript.Shell");
function setJdk(version) {
  try {
    var jdk = objShell.RegRead("HKEY_LOCAL_MACHINE\\SOFTWARE\\" +
       "JavaSoft\\Java Development Kit\\" + version + "\\JavaHome");
    if(jdk != null && jdk != "") {
      jdk += "\\bin";
      var path = objShell.RegRead("HKEY_CURRENT_USER\\Environment\\Path");
      path = jdk + ";" + path;
      WScript.Echo("Could set PATH to " + path + "\n");
    }
  } catch(err) { /*probably key does not exist*/ }
}
setJdk("1.7");
setJdk("1.6");
setJdk("1.5");

Существует метод RegWrite , который может использоваться для записи в реестр. Требуется немного поработать, чтобы определить последнюю версию и перенастроить путь, удалить устаревшие записи и отсортировать системные пути и пути пользователя. Несомненно, его также можно использовать для установки JAVA_HOME . Запись JDK должна появиться перед каталогом system32 , поскольку установщик JRE помещает туда java.exe .

(я не уверен на 100%, что оболочка может уловить такие изменения или потребуется перезагрузка переменной reboot / env.)

1
ответ дан 1 December 2019 в 20:30
поделиться

Обычно это делается путем установки переменной среды JAVA_HOME в корневой каталог JDK, который вы хотите использовать.

Например, из командной строки или командного файла, который вы хотите использовать. просто сделайте что-нибудь вроде:

set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_14

Однако, чтобы установить JAVA_HOME навсегда, добавьте его в переменные среды на вкладке Дополнительно на странице свойств для Мой компьютер .

0
ответ дан 1 December 2019 в 20:30
поделиться

Очевидно Eclipse может компилироваться без tools.jar . Я предполагаю, что у них есть специальная команда javac , которая может работать с JRE (а не с JDK); это может быть причиной, по которой они могут перечислить свои предупреждения.

В любом случае, я бы пошел стандартным путем (как предложено выше) и установил JDK в вашей системе. Вы даже можете запустить Eclipse с этим конкретным JDK (без каких-либо изменений JAVA_HOME ), настроив файл eclipse.ini (см. Эти инструкции ).

0
ответ дан 1 December 2019 в 20:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: