Я раньше этого не делал, но ... с помощью
EclipseEnvironmentInfo.getDefault().getCommandLineArgs()
вы можете получить аргументы командной строки, с которых eclipse запускается ("org.eclipse.core.runtime.internal.adaptor.EclipseEnvironmentInfo" является внутренним классом, но вы можете получить к нему доступ в любом случае ... на свой страх и риск;) ). Быстрый тест показывает, что если вы запустите файл с помощью eclipse, последним аргументом будет путь к этому файлу.
Обычный запуск:
-os, win32, -ws, win32, -arch, x86, -product, org.eclipse.epp.package.rcp.product
С файлом:
-os, win32, -ws, win32, -arch, x86, -product, org.eclipse.epp.package.rcp.product, D: \ Program \ Eclipse3.5-RCP \ readme \ readme_eclipse .html
Вы можете расширить точку расширения "org.eclipse.ui.startup" и реализовать "org.eclipse.ui.IStartup", чтобы проверить аргументы командной строки и вызвать собственную команду.
Вот мой тестовый класс:
import java.util.Arrays;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.internal.adaptor.EclipseEnvironmentInfo;
import org.eclipse.ui.IStartup;
import test.Activator;
public class Test implements IStartup {
@Override
public void earlyStartup() {
String message = "Arguments: " + Arrays.toString(EclipseEnvironmentInfo.getDefault().getCommandLineArgs());
Activator.getDefault().getLog().log(new Status(IStatus.INFO, "Test", message));
}
}