2013-08-15 18 views
7

Sfondo:Maven java errore di compilazione non può accedere CommonClassA

  • Sto sviluppando Maven progetto a più moduli.
  • Uno dei moduli è il modulo comune richiesto da altri moduli.
  • Questo modulo contiene CommonClassA.java.
  • modulo comune correttamente compilato.
  • È installato correttamente nel repository locale di maven.
  • Una classe (Billtype.java) nell'altro modulo (EmployeeBilling) fa riferimento a questa classe (CommonClassA.java).
  • La dipendenza Maven per il modulo comune è specificata correttamente in pom.xml del modulo EmployeeBilling.

Problema:

Durante la compilazione del modulo EmployeeBilling getta

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project EmployeeBilling: Compilation failure 
[ERROR] \MyWorkspace\Biz\EmployeeBilling\src\main\java\com\employee\Billtype.java:[79,19] error: cannot access CommonClassA 
[ERROR] -> [Help 1]** 

dettagli di supporto:

  • dipendenza definiti EmployeeBilling> pom.xml:

  • Altre classi di modulo comune sembra accessibile come nessun errore osservato

  • Non ci sono altri errori come la classe non trovata/file non trovato.
  • La classe CommonCLassA implementa Serializable
  • stesso errore si verifica da Eclipse, così come la linea commond
  • Sto usando M2E plug

Strumenti:

  • jdk1.7.0_02
  • SO: Windows 7
  • E clipse JUNO e apache-maven-3.1.0

Grazie in anticipo!

+1

Forse una domanda stupida, ma è la classe 'CommonClassA'' public'? – DB5

+1

Esegui la compilazione in modalità debug con '-X' come:' mvn compile -X' per ulteriori dettagli. Inoltre sei sicuro che i modificatori di accesso per la classe lo rendano visibile? –

+0

Suggerisco di aggiungere i sorgenti dei file, in quanto sembra un normale errore di compilazione. – sorencito

risposta

3

Se il progetto viene compilato correttamente utilizzando il compilatore eclipse, dovrebbe funzionare con Maven.

alcune cose da verificare, se non il suo lavoro con Maven:

  1. Verificare manualmente nel repository che barattolo sia installato correttamente e che contiene il file di classe.
  2. Provare a creare un progetto utilizzando Maven installato localmente anziché Maven in Eclipse.
  3. Set -DskipTest = true durante l'installazione del jar, poiché a volte può causare problemi.

Se questi passaggi non funzionano, mostraci il tuo pom.

+0

Tutti, grazie per la risposta! – user2210293

0

Senza ulteriori informazioni è difficile trovare la causa. Ma ho anche avuto questo problema di tanto in tanto, e ci sono alcune cose che potrebbero andare storte:

  • Stai usando la giusta versione JAVA (ovunque)?
  • ... e il java giusto PROVIDER? (Oracle, IBM, OpenJDK) Nel mio caso è spesso questo problema, a volte sono legato a IBM JDK, anche se provo a utilizzare Oracle dove posso e questo a volte rompe la mia build.
  • È stata utilizzata la VERSIONE di dipendenza Maven corretta? Se dipendi da esso più volte, e tutti nello stesso reparto (inferiore a root) delle dipendenze, Maven semplicemente "sceglierà" una versione. Potrebbe essere che la versione è incompatibile con il tuo codice di dipendenza particolare
  • A volte i test di salto FUNZIONANO! Ha qualcosa a che fare con le fasi di Maven e preparare le cose per usarlo altrove.

Buona fortuna :)

+2

Questo non fornisce una risposta alla domanda. Una volta che hai [reputazione] sufficiente (http://stackoverflow.com/help/whats-reputation) sarai in grado di [commentare qualsiasi post] (http://stackoverflow.com/help/privileges/comment); invece [fornisci risposte che non richiedono chiarimenti da parte del richiedente] (http://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-, invece). - [Dalla recensione] (/ recensione/post di bassa qualità/13075824) – Inian

+0

Se lo dici tu ... Solo la mia esperienza, ieri ho avuto questo specifico errore di compilazione, e dopo aver cambiato JAVA_HOME da Oracle JDK a IBM JDK ho ottenuto risolto il problema. Ma se lo dici non lo sai, probabilmente lo sai molto meglio. Dov'è la tua risposta, Inian? –

0

ho avuto lo stesso problema. Anche la dipendenza jar ha i file di classe richiesti. Alla fine ho cancellato il repository locale di Maven e riavviato la build. Ora ha funzionato senza alcun problema.

Problemi correlati