Запуск eclipse из командной строки отличается от двойного щелчка

#java #eclipse #batch-file #cmd #launch

#java #eclipse #пакетный файл #cmd #запуск

Вопрос:

Мой университет стирает свои общедоступные компьютеры каждый раз, когда кто-то выходит из системы, поэтому я решил написать файл .bat, который копирует мой eclipse с флэш-накопителя на их рабочий стол со всем моим кодом без изменений. Файл в настоящее время выглядит следующим образом:

 @echo off
mkdir C:Userslib-pac-olin-ppcDesktopeclipse
xcopy eclipse C:Userslib-pac-olin-ppcDesktopeclipse /S /E
C:Userslib-pac-olin-ppcDesktopeclipseeclipse.exe 
  

Когда я запускаю это, eclipse запускается, но ведет себя так, как будто он был запущен в первый раз. Он не принимает настройки рабочей области по умолчанию и отображает экран приветствия. Однако, когда я запускаю eclipse прямым двойным щелчком по нему, он переходит в мою рабочую область и извлекает мой код. Он также запускается намного быстрее. Почему это происходит?

Для человека, который спросил, вот файл .ini:

 -startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20140603-1326
-product
org.eclipse.epp.package.standard.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.7
-Xms40m
-Xmx512m
  

Я должен отметить, что JVM была помещена в папку с именем jre в каталоге eclipse, где eclipse ищет ее по умолчанию.

Комментарии:

1. Можете ли вы опубликовать свой файл eclipse.ini?

2. Это опубликовано. Обратите внимание, что -vm в этом случае не требуется

Ответ №1:

Если в каталоге eclipse / jre установлена JVM, Eclipse будет использовать ее; в противном случае программа запуска обратится к файлу eclipse.ini и системной переменной path. Eclipse НЕ обращается к переменной среды JAVA_HOME.

Чтобы явно указать JVM по вашему выбору, вы можете использовать аргумент командной строки -vm:

// запустите Java, выполнив указанный исполняемый файл Java

eclipse -виртуальная машина c:jrebinjavaw.exe

// запустите Java, загрузив jvm в процессе eclipse

eclipse -виртуальная машина c:jrebinclientjvm.dll

Смотрите страницу запуска для получения более подробной информации об указании JVM.

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

Комментарии:

1. Это не моя проблема. Eclipse уже настроен на использование JVM в своей папке.

2. @user284166 Вы можете вручную указать расположение рабочей области в командной строке, используя аргумент командной строки -data <workspace-path>.

3. добавлено это к последней строке в .bat, не сработало

Ответ №2:

Просто попробую здесь, но пакетный файл запускается с USB / flash, что означает, что текущий рабочий каталог находится там. Не во вновь созданной папке, поэтому он не будет знать, где искать файл .ini.

Обновите пакетный файл, чтобы изменить рабочий каталог в строке перед запуском eclipse, т.Е.

 @echo off
mkdir C:Userslib-pac-olin-ppcDesktopeclipse
xcopy eclipse C:Userslib-pac-olin-ppcDesktopeclipse /S /E
c:
cd C:Userslib-pac-olin-ppcDesktopeclipse
eclipse.exe