Maven compilation échoue lors de l'éclipse est un succès
Je suis en utilisant maven3.03 et Eclipse 3.5 sur Windows XP. J'ai converti vieux projet web pour être en maven configuration de style.
Quand je compile le projet dans eclipse tout compiler.
Remarque: Le classpath contient: les Dépendances Maven et JDK(1.6_018).
Quand je compile en ligne de commande à l'aide de mvn, je reçois quelques erreurs:
1.package com.soleil.xml.interne.flux de données.de la mémoire tampon.stax n'existe pas.
2.package com.soleil.xml.interne.flux de données.les écrivains n'existe pas
3.impossible de trouver le symbole - symbole : classe XMLDOMWriterImpl
4.package com.soleil.xml.interne.de messagerie.saaj.util n'existe pas
5.package com.soleil.xml.interne.bind.v2.moment de l'exécution.unmarshaller n'existe pas
6.impossible de trouver le symbole - symbole : classe NamespaceContexHelper
7.impossible de trouver le symbole de symbole : classe ByteOutputStream
Je peux voir que ce quelque chose avec la sun jar. Mais je ne peux pas comprendre pourquoi eclipse est ok et la ligne de commande n'est pas.
MODIFIER: l'Une des erreurs que je ne l'ai pas mentionné dans la liste ci-dessus est:
[ERROR]<path>\EventsViewer.java:[54,69] inconvertible types found: <br>java.util.SortedMap<java.util.Date,java.util.List<com.myClass>>
required: java.util.Map<? extends java.util.Date,? extends java.util.List<com.myOtherClass>>
Quand je vois la même ligne dans eclipse-je obtenir avertissement:
Type safety: Unchecked cast from SortedMap<Date,List<myClass>> to Map<? extends Date,? extends
List<myOtherClass>>
Dans Eclipse-je obtenir de l'avertissement et à maven j'obtiens l'erreur. Je n'ai vérifier le org.eclipse.jdt.de base.préf. et voir le réglage est org.eclipse.jdt.de base.compilateur.problème.forbiddenReference=avertissement.
Mise à jour:
J'ai lu certaines des erreurs ci-dessus. Le "problème" est que dans eclipse, il apparaît comme la non-utilisation de l'importation. Stangly maven signaler cette erreur. Après la suppression de ces droits à l'importation l'erreur a disparu. Mais toujours problème 3 et 7 se passe
Conclusion: je suppose que les avertissements devenir des erreurs dans la javac. depuis je n'utilise pas supressWarnings. Je suis juste surpris que l'erreur est différente.
Quel est-il?
JAVA_HOME
n'est pas' situé dans le Maven environnement.Quelles sont les plateformes que vous êtes l'exécution de Maven et Eclipse?
OriginalL'auteur ronk | 2011-07-03
Vous devez vous connecter pour publier un commentaire.
C'est la vraie raison peut-être
depuis maven du forum répondre
" Jérôme est juste qu'il n'est pas recommandé d'utiliser com.soleil
les classes de rt.jar. Et surtout ceux qui portent l'inscription "interne"; vous êtes juste
d'avoir des ennuis.
Cependant, j'ai été curieux à ce sujet, alors il a essayé. La classe ci-dessus peuvent
en effet accessible par Eclipse. Cependant, la compilation du code de la
ligne de commande en utilisant javac échoue avec le "n'existe pas" d'erreur. Donc, mon
l'hypothèse est que le Soleil est compilateur java détecte quand une spéciale
"internes" de la classe est en cours d'accès, et refuse d'importer la classe.
Eclipse utilise un autre compilateur, ce qui, vraisemblablement, n'a pas cette case.
Maven utilise le compilateur javac disponibles dans le système d'exécution
chemin d'accès. Le problème est donc rien à voir avec Maven. C'est l'
compilateur que maven est l'invocation qui refuse de compiler les sources.
Je ne peux pas voir tout public drapeaux dans le javac ligne de commande pour désactiver cette
"blocage" de l'accès interne, de sorte que si vous voulez éviter d'utiliser du Soleil
compilateur javac, vous aurez juste à éviter l'utilisation de cette classe interne.
Juste pour le fun, j'ai essayé de Jerome suggestion de mettre rt.jar sur le
classpath:
javac -cp /usr/java/jdk1.6.0_03/jre/lib/rt.jar Foo.java
mais qui ne parvenait toujours pas à compiler.
La ByteOutputStream classe peut être chargés lors de l'exécution par
Classe.forName("..").
Fait intéressant, un projet, je travaille sur arrive à importer la classe
com.soleil.org.apache.xml.interne.utils.SAXSourceLocator;
et cela fonctionne ok. Des avertissements sont émis, mais le code se compile (et oui,
il est sur ma liste de choses à faire pour résoudre ce problème :-). Il n'est donc pas tous classes internes
qui sont bloqués, juste ceux qui sont sélectionnés. "
OriginalL'auteur deelew
Vérifier que vous utilisez la même JDK pour l'Eclipse et Maven construit. Même si vous pensez que vous êtes, vérifiez de nouveau de toute façon.
Ces paquets sont certains de ceux qui sont inclus dans certaines versions de Java et pas d'autres.
Pour être clair, je parle du répertoire réel pour Java qui est utilisé plutôt que Java 5 vs Java 6
Ok, j'ai ajouté comme réponse distincte de ne pas confondre quelqu'un
Jeanne, je n'ai pas compris - que voulez-vous dire "qui sont inclus dans certaines versions de Java et pas les autres" et "répertoire réel"?
IBM aime inclure des choses dans leur JDK qui ne devrait pas etre/ne sont pas dans le runtime. Cela signifie que si vous compilez avec le JDK IBM, les choses semblent bien et lorsque vous compilez avec une autre version de JDK, les classes sont manquantes.
OriginalL'auteur Jeanne Boyarsky
Si la version de java diffère, en ajoutant le
maven-compiler-plugin
avec la configuration de la source et de la cible en pointant vers la 1.6 et
la mise à jour de la configuration du projet du projet Maven menu contextuel permettra de résoudre le sortir du problème de synchronisation dans de nombreux cas (ce qui conduit à différents compilation des résultats):
N'a pas fonctionné. La chose étrange est qu'il change la donne .classpath fichier avec J2SE_1.6 au lieu de l'éclipse c'est à l'aide de JDK1.6_018.
OriginalL'auteur Omnaest
C'est mon cas: j'ai eu la même erreur à l'Ide, après l'ajout de
//TODO
, Intellij Automatiquement ajouté cette ligne dans la section importerimport com.sun.xml.internal.bind.v2.TODO;
Après la suppression de l'importation mentionnées ci-dessus de la ligne, le problème est résolu. Maintenant, je peux en mesure de compiler avec succès à l'aide de maven
OriginalL'auteur vkrams