2009-06-25 19 views
5

Ho un prodotto RCP che non funziona. Poi ho installato Eclipse di recente, e quando apro Eclipse.exe non si apre Eclipse IDE. Viene visualizzato l'errore: NoClassDefFoundError: com/mercury/javashared/agentloader/AgentBootstrap (vedere la traccia completa di seguito).Non è possibile eseguire l'applicazione Eclipse. Impossibile avviare Eclipse IDE

Il sistema ha jdk più recente, jre installato. Quale potrebbe essere la ragione di questo errore? (PS: la stessa eclissi viene cancellata quando unzippata su una macchina diversa funziona bene). Sono in grado di eseguire Eclipse e il mio prodotto Eclipse RCP ci)

!ENTRY org.eclipse.osgi 4 0 2009-06-25 10:40:19.468 
!MESSAGE Application error 
!STACK 1 
java.lang.NoClassDefFoundError: com/mercury/javashared/agentloader/AgentBootstrap 
at org.eclipse.swt.widgets.Display.<init>(Display.java:393) 
at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:448) 
at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161) 
at org.eclipse.ui.internal.ide.IDEApplication.createDisplay(IDEApplication.java:122) 
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:75) 
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78) 
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92) 
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400) 
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336) 
at org.eclipse.core.launcher.Main.basicRun(Main.java:280) 
at org.eclipse.core.launcher.Main.run(Main.java:977) 
at org.eclipse.core.launcher.Main.main(Main.java:952) 
Caused by: java.lang.ClassNotFoundException: com.mercury.javashared.agentloader.AgentBootstrap 
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:402) 
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:347) 
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at java.lang.ClassLoader.loadClassInternal(Unknown Source) 
... 17 more 

UPDATE: ho avuto QTP (Test Rapido Pro) installato sulla macchina. Quando ho disinstallato QTP ora sono in grado sia di prodotto RCP che di Eclipse.exe.

Ora, qual è la relazione tra QTP ed Eclipse? Voglio che entrambi coesistano.

+0

@RCB: grazie per questo feedback. Sarebbe interessante verificare, dopo la corretta installazione di QTP, se quel prodotto è stato modificato o impostato alcune variabili di ambiente relative a Java. Potresti anche postare il tuo feedback e alcuni dettagli aggiuntivi (sui valori delle variabili di ambiente) come risposta (e sceglierlo, se vuoi, come quello ufficiale) – VonC

risposta

8

Then I installed Eclipse freshly, and when I open Eclipse.exe it doesn't open Eclipse IDE

The same eclipse archive when unzipped on a different machine works fine

Questo dovrebbe significare un problema di spazio di lavoro: eclipse tenta di ricreare una vista per la quale manca il barattolo.
provo a lanciare il vostro Eclipse con l'opzione '-clean', e fare in modo che non riferimento a una nuova area di lavoro fresco (con l'opzione -data, come illustrato in questo eclipse.ini)

This question illustrato un avvio pulito:

eclipse.exe -clean --launcher.ini path\to\my_eclipse.ini 

Per quanto riguarda la QTP, consultare questo articolo from IBM, che descrive una situazione simile.

In this scenario HP Mercury Quick Test Pro Professional v9.3 was installed and the following Microsoft Windows XP User and System Environmental variables were present:

IBM_JAVA_OPTION and _JAVA_OPTION 

Ciascuno è stato impostato:

-Xrunjvmhook -Xbootclasspath/a:C:\PROGRA~1\HP\QUICKT~1\bin\JAVA_S~1\classes;C:\PROGRA~1\HP\QUICKT~1\bin\JAVA_S~1\classes\jasmine.jar 

o più esplicitamente:

-Xrunjvmhook -Xbootclasspath/a:C:\PROGRA~1\HP\QuickTest Professional\bin\java_shared\classes;C:\PROGRA~1\HP\QuickTest Professional\bin\java_shared\classes\jasmine.jar 

Note: HP Mercury Diagnostic Tool is another product that used these environment variables in the past. Contact HP Support if up to date information and support is needed on their products.

However it is important to stress the focus is on these environment variables being used dangerously by any vendor product or any software or user in general setting them directly

Resolving the problem
Delete or clear the values of the IBM_JAVA_OPTION and _JAVA_OPTION variables.

After deleting/clearing the environment variables, it should be possible to start Rational Application Developer or other IBM SDK for Java (== JDK) based product.

Note: Deleting or clearing these variables may prevent the other products (such as the aforementioned HP products) from working.

Warning: Deleting or clearing or changing IBM_JAVA_OPTION or _JAVA_OPTION should be done with caution if these are needed settings. There are legitimate and safe uses of these environment variables to set JVM options.


Se questo è davvero il caso, che rem inds me della mia risposta alla domanda:

"Why doesn’t the Java SDK installer set JAVA_HOME?"

;)


Se si desidera sia Eclipse e QTP di coesistere, è necessario assicurarsi che qualsiasi configurazione in esecuzione si può avere (in o all'esterno di eclipse) che devono eseguire "con" QTP sono gli script che impostano quelle variabili extra (_JAVA_HOME o altro).
Se tali variabili sono impostate globalmente (tramite il processo di installazione QTP stesso) ... possono accadere cose brutte.

+1

Ciao, grazie per la spiegazione dettagliata. Mi sembra che inizialmente prima di installare QTP, Java (jdk + jre) che era presente non fosse corretto. Dopo aver visto l'errore di Eclipse, ho installato di nuovo java, ma non è stato di alcun aiuto. Quindi, quando ho disinstallato e installato nuovamente QTP, significava che QTP ora era installato su una macchina con Java corretto (jdk + jre). E questa volta dopo l'installazione, tutti hanno iniziato a lavorare normalmente. –

+0

Qualcuno sa se c'è un modo per ottenere Java (o Eclipse) per ignorare la variabile JAVA_TOOL_OPTIONS ... o eventualmente sostituire il valore agentlib con uno che non causa interferenze? –

+1

@david: potresti provare a definirli in "" in ['eclipse.ini'] (http://stackoverflow.com/questions/142357/what-are-the-best-jvm-settings-for-eclipse/3275659 # 3275659), come argomento vm ('-DJAVA_TOOL_OPTIONS =" "') – VonC

0

Penso che il problema potrebbe essere che il "pacchetto" di mercurio è in qualche modo referenziato ma non nel classpath.

3

Controllare la variabile _OPTIONS JAVA_TOOL. Probabilmente ha un valore di "-agentlib: jvmhook".Cancellare la variabile e i prodotti basati su Eclipse dovrebbero iniziare a funzionare.

Probabilmente sarà necessario aggiornare il programma di avvio HP QT per impostare questa variabile quando si desidera eseguire il profiling.

+1

In precedenza avevo rinominato la variabile '_JAVA_TOOL_OPTIONS' perché era in conflitto con il runtime Java in esecuzione quando ho avviato il programma di installazione di Weblogic. Re-naming (torna a '_JAVA_TOOL_OPTIONS' mi ha aiutato. –

0

se eclipse non è in esecuzione, ad esempio quando si fa doppio clic su eclipse.exe, l'eclissi appare per alcuni secondi e scompare, in questo caso andare al prompt dei comandi, quindi migrare alla cartella eclipse e digitare eclipse -vm C: \ Java \ jdk1.6.0_33 \ jre \ bin \ javaw.It è perché eclipse di default cerca questo percorso. Nel mio caso è in esecuzione dopo averlo fatto in questo modo. Se il tuo jdk è installato nei file di programma, allora dai file di programma copia il cartella java e unità passate in c.

2

So che questa domanda è stato chiesto un molto tempo prima, sto rispondendo perché se qualcuno poi vede questa domanda allora che riceveranno idea di come farlo come diceva @java programmatore, eclissi cerca la posizione predefinita C:\Java\jdk1.6.0_33\jre\bin\javaw.

puoi anche impostare manualmente il percorso se java è installato in qualche altro percorso. la via è semplice: cerca il file eclipse.ini e aprilo con il wordpad. Ora cerca "file aperto" qui sotto per scrivere il percorso completo per javaw. vedere la schermata. per esempio se il vostro Java è installato nell'unità C, allora il percorso completo per javaw sarebbe

C:\Program Files\Java\jdk1.6\bin\javaw.exe 

ora salvare il file eclipse.ini ed ora doppio clic su eclipse.exe. Verrà eseguito.

enter image description here

0

Se Eclipse non è in esecuzione, ad esempio quando si fa doppio click sul eclipse.exe, poi Eclipse compare per alcuni secondi e scompare:

  1. Vai alle variabili di ambiente
  2. Cancella il Opzioni Java e IBM.
  3. Provare ad aprire Eclipse.
1

creare un file batch che cancella le variabili ed esegue il RAD.

set IBM_JAVA_OPTIONS= 
set _JAVA_OPTIONS= 
set JAVA_TOOL_OPTIONS= 
"C:\Program Files\IBM\RAD85\eclipse.exe" -product com.ibm.rational.rad.product.v85.ide 
1

installazione QTP con classpath di molte applicazioni.

Si consiglia di impostare un file batch da eseguire ogni volta in modo che l'impostazione globale non venga modificata.

set IBM_JAVA_OPTIONS= 
set _JAVA_OPTIONS= 
set JAVA_TOOL_OPTIONS= 

cd [your eclipse.exe] 
eclipse.exe 

Salvarlo come file .bat e fare doppio clic per eseguire. Dovresti vedere l'eclissi funzionare.

0

Verificare se la macchina virtuale funziona correttamente o no. Se non disinstallare e reinstallare jdk.

+1

Benvenuti nello stack overflow. Si prega di spiegare perché la reinstallazione di jdk aiuterà nel problema. – JackDev

0

Ho affrontato lo stesso problema. Disinstallare tutta la versione java presente sulla macchina dal pannello di controllo. Quindi reinstalla java e prova ad avviare eclipse. per me funziona.

0

Ho avuto lo stesso errore.Quindi, ho trovato la soluzione successiva:

  1. Passare alla cartella con eclipse.exe. e la configurazione aprire il file

    enter image description here

  2. Dopo di che eliminare line "-vmargs" e aggiungi il tuo percorso per JDK (Nella mia occasione è C: \ Program Files \ Java \ jdk1.7.0_79 \ bin)

    enter image description here

    1. adesso Il tuo eclissi dovrebbe avviarsi normalmente.
Problemi correlati