2012-05-13 12 views
18

Ho scaricato il sorgente per tutti i Maven JAR nel mio buildpath usando Maven-> Download Sources e mvn eclipse:eclipse -DdownloadSources=true, che funzionava! Quando apro il percorso di build, posso vedere che i JAR di origine sono allegati per ogni file JAR.Eclipse non raccoglie la sorgente Maven collegata al debug

Ma quando eseguo quel dannato contenuto su Tomcat 6 continuo a ricevere la pagina "Sorgente non trovata" con il pulsante "Modifica il percorso di ricerca dell'origine". Ma la fonte è già collegata nel percorso di costruzione. Cosa non funziona?

Quando lo indirizza manualmente al file JAR facendo clic sul pulsante "Modifica percorso di ricerca origine" funziona. E quando lo indico manualmente alla cartella non funziona. Perché Eclipse o Tomcat non raccolgono la sorgente collegata nel percorso di generazione?

Nota: sto usando apache-maven-3.0.4, apache-tomcat-6.0.16 ed Eclipse Indigo Service Release 2.

risposta

14

Anche se questo bug ha avuto il maggior numero di voti di tutti i bug @Sonatype , non è stato corretto.

Tuttavia, ho compilato una richiesta di miglioramento su Eclipse Bugzilla e, se si accetta il problema, è necessario correggere "Origine non trovata", si prega di votarlo per here.

È possibile trovare tre soluzioni alternative here.

+0

Il bug sembra risolto. – cellepo

+0

@cellepo Attualmente sto riscontrando un problema [suona familiare] (http://stackoverflow.com/questions/37690353/eclipse-does-not-show-source-code-of-dependencies-in-debug-view) :( – displayname

+1

Ancora questo problema esiste nella versione: Oxygen.1a versione (4.7.1a) ID build: 20171005-1200. –

1

Nel mio caso il problema era correlato al codice sorgente allegato alla "Configurazione di debug", forse alcuni residui formano una migrazione a Maven.

Ho risolto il problema andando alla pagina "Debug Configurations ..." e selezionando la configurazione nel caso, quindi nella scheda "Sources" ho ripristinato i valori predefiniti, che hanno aggiunto tutte le dipendenze Maven del progetto.

0

Finestra-> Preferenze> JBoss Strumenti-> Fonte Lookup

assicurarsi di avere controllo "Aggiungi automaticamente il contenitore di JBoss Maven a tutti JBoss come le configurazioni di lancio". e in "Configura automaticamente l'allegato Java Source", scegliere "Sempre".

questo mi aiuta a uscire dal problema.

0

Penso di aver risolto questo problema aggiornando il mio Eclipse m2e. Penso di aver avuto la versione ~ 1.2, e poi aggiornato all'ultima [al momento della scrittura] 1.6.2.

Il Eclipse Bug comments mi ha aiutato a capirlo.

Ora riesco a eseguire il debug nel mio gquery-dnd-bundle-1.0.6!

5

Ho trovato questo plug-in com.ifedorenko.m2e.sourcelookup. Il collegamento è stato fornito in "Java Debugging: Source not found".

Vai a Help > Install New Software .. e utilizzare

http://ifedorenko.github.com/m2e-extras/

per la ricerca di collegamenti. Dopo aver installato questo plugin ho finalmente potuto eseguire il debug del codice sorgente delle dipendenze.

-1
 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-source-plugin</artifactId> 
      <version>${version.maven-source-plugin}</version> 
      <executions> 
       <execution> 
        <id>attach-sources</id> 
        <goals> 
         <goal>jar-no-fork</goal> 
         <goal>test-jar-no-fork</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
+2

La tua risposta vale sicuramente una piccola spiegazione. Fai riferimento a http://stackoverflow.com/help/ come risposta. –

-1

Il progetto di maven "target" dovrebbe emettere il suo codice sorgente prima che i progetti "client" possano accedere al codice sorgente. Ho risolto il problema utilizzando il Maven-source-plug nel progetto "target": https://maven.apache.org/plugins/maven-source-plugin/index.html

Basta usare il seguente snippet nel file pom.xml del progetto di destinazione, rilasciare una versione e utilizzare la versione di rilascio in il file pom.xml del progetto client. Poi Eclipse può lasciare che automaticamente si "salta" al progetto di destinazione seamlesly:

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-source-plugin</artifactId> 
      <version>${version.maven-source-plugin}</version> 
      <executions> 
       <execution> 
        <id>attach-sources</id> 
        <goals> 
         <goal>jar-no-fork</goal> 
         <goal>test-jar-no-fork</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
0

Usa esterno Maven al posto di predefinito embedded in Debug Configurazioni dialogo.

Si veda ad esempio la figura sottostante (menu Esegui -> Debug Configurazioni ...):

Configure external Maven

ambiente Provato:

  • Eclipse IDE per sviluppatori Java: Oxygen.1a Release (4.7.1a), 64-bit (da spring.io)
  • Oracle JDK jdk1.8.0_144, 64-bit
  • Maven: 3.5.2
  • SO: Windows 10 Enterprise N, a 64 bit
  • prova obiettivo hpi:run (campione Jenkins plugin)
Problemi correlati