Ne pouvez pas importer de soleil.org.mozilla.le javascript.interne dans NetBeans
Dans mon programme java je faire un usage intensif de Soleils de mise en oeuvre de la Rhino moteur de script. Très récemment, cependant, mon JDK ne semble pas importer automatiquement les rt.jar fichier plus lors de la compilation.
Ce qui est étrange, c'est que NetBeans rapports 0 vivent des erreurs, elles ne se montre que lorsque l'on fait un Nettoyage complet & Construire. Ce n'était pas le cas avant, quand j'étais importation NativeArray, donc je suis vraiment confus sur pourquoi tout d'un coup cessé de fonctionner.
Spécifications:
- OS - Windows
- Java - version java version "1.6.0_20"
- Javac - version javac 1.6.0_20
- NetBeans version 6.9
Vérifier pour voir si elle existe:
C:\Documents and Settings\LordQuackstar\Desktop\TestApp\src>javap soleil.org.mozill un.le javascript.interne.WrappedException Compilé à partir de "WrappedException.java" public class soleil.org.mozilla.le javascript.interne.WrappedException s'étend soleil.ou g.mozilla.le javascript.interne.EvaluatorException{ static final long serialVersionUID; public de soleil.org.mozilla.le javascript.interne.WrappedException(java.lang.Throwa ble); public java.lang.Throwable getWrappedException(); public java.lang.Objet unwrap(); }
Ok il existe, donc voici un code de test:
package testapp;
import sun.org.mozilla.javascript.internal.WrappedException;
public class Main {
public static void main(String[] args) {
WrappedException e = new WrappedException(null);
}
}
Netbeans de sortie:
init: deps-propre: La mise à jour de fichier de propriétés: C:\Documents and Settings\LordQuackstar\Desktop\TestApp\build\construit-propre.propriétés La suppression de répertoire C:\Documents and Settings\LordQuackstar\Desktop\TestApp\build nettoyer: init: deps-pot: Créé dir: C:\Documents and Settings\LordQuackstar\Desktop\TestApp\build La mise à jour de fichier de propriétés: C:\Documents and Settings\LordQuackstar\Desktop\TestApp\build\construit-jar.propriétés Créé dir: C:\Documents and Settings\LordQuackstar\Desktop\TestApp\build\classes Créé dir: C:\Documents and Settings\LordQuackstar\Desktop\TestApp\build\vide Compilation 1 fichier source C:\Documents and Settings\LordQuackstar\Desktop\TestApp\build\classes C:\Documents and Settings\LordQuackstar\Desktop\TestApp\src\testapp\Main.java:8: package de soleil.org.mozilla.le javascript.interne n'existe pas importation de soleil.org.mozilla.le javascript.interne.WrappedException; C:\Documents and Settings\LordQuackstar\Desktop\TestApp\src\testapp\Main.java:16: impossible de trouver le symbole symbole : classe WrappedException emplacement: classe testapp.Principal WrappedException e = new WrappedException(null); ^ C:\Documents and Settings\LordQuackstar\Desktop\TestApp\src\testapp\Main.java:16: impossible de trouver le symbole symbole : classe WrappedException emplacement: classe testapp.Principal WrappedException e = new WrappedException(null); ^ 3 erreurs C:\Documents and Settings\LordQuackstar\Desktop\TestApp\nbproject\build-impl.xml:528: L'erreur suivante s'est produite lors de l'exécution de cette ligne: C:\Documents and Settings\LordQuackstar\Desktop\TestApp\nbproject\build-impl.xml:261: la Compilation a échoué; voir le compilateur sortie d'erreur pour plus de détails. BUILD FAILED (temps total: 0 secondes)
Sortie de ligne de commande:
C:\Documents and Settings\LordQuackstar\Desktop\TestApp\src\testapp>javac Main.java Principal.java:3: le package soleil.org.mozilla.le javascript.interne n'existe pas importation de soleil.org.mozilla.le javascript.interne.WrappedException; ^ Principal.java:7: impossible de trouver le symbole symbole : classe WrappedException emplacement: classe testapp.Principal WrappedException e = new WrappedException(null); ^ Principal.java:7: impossible de trouver le symbole symbole : classe WrappedException emplacement: classe testapp.Principal WrappedException e = new WrappedException(null); ^ 3 erreurs
Alors, quelle serait la cause de cet échec, tout d'un coup? Il a été fonctionne correctement hier. Je n'ai pas changer quoi que ce soit d'ailleurs l'importation de plus de 2 classes du même package. Aucun de mes dépendances changé.
Permettra de tester sous linux pour voir si le problème existe toujours.
Avant de vous le dire: Non, je ne suis pas de téléchargement rhino séparément, Non, je ne vais pas changer d'IDEs,
OriginalL'auteur TheLQ | 2010-07-04
Vous devez vous connecter pour publier un commentaire.
Il y a deux indications que vous ne devriez pas utiliser cette classe:
sun
etinternal
- ils dire que c'est une classe interne qui ne devrait pas être utilisé par des tiers. Parce qu'elle peut changer ou être supprimé dans les versions à venir, ce qui n'est pas partie d'une API. Soi - téléchargement Rhino séparément.Si vous utilisez l'API de script, - l'utilisation de l'API classes/interfaces - c'est à dire
javax.script
java.lang.reflect.Array.newInstance(java.lang.String, 5);
? Comment voulez-vous obtenir l'accès à des objets json? Vous ne pouvez pas. javax.le script est rien de plus qu'une couche d'abstraction. Il n'y a rien de m'arrêter d'utiliser du Soleil, de l'espace de noms, et l'intérieur est juste un peu bizarre de gestion de soleil (Il n'y a pas de classes entre org.mozilla et org.mozilla.rhino.interne.)si l'abstraction n'est pas suffisant, utilisez le raw de la mise en œuvre directement - téléchargement rhino et l'utiliser.
Les soleils de l'application fonctionne très bien. Je préfère ne pas en ajouter encore une autre dépendance d'une déjà longue liste de cadre, lorsqu'une parfaitement bien il en existe un par défaut.
OriginalL'auteur Bozho
Je suis d'accord w/les conseils ci-dessus que vous êtes mieux de ne pas essayer d'utiliser le soleil intérieur des paquets.
Cela pose la question, comment avez-vous accès aux tableaux JavaScript w/out soleil.org.mozilla.le javascript.interne.NativeArray?
Ce qui a fonctionné pour moi, c'est le code comme suit. Cela crée un tableau Java appelé vars basé sur un tableau JavaScript appelé vars.
OriginalL'auteur James A
J'ai eu le même message d'erreur. Vous devez ajouter manuellement
rt.jar
de JRE dir à des bibliothèques de projet. Seulement, cette solution semble fonctionner. Vous pouvez également voir un tutoriel sur cette approche ici par Rob Di MarcoOriginalL'auteur kbec
C'est une vieille question maintenant, mais quand j'ai eu ce problème, ma solution a été de faire plus de travail dans l'environnement JavaScript, puis de revenir un type primitif (Chaîne /Boolean) plutôt que d'un objet.
Bien sûr, ce ne sera pas satisfaire tout le monde et toutes les exigences, mais il peut aider dans certains cas.
OriginalL'auteur daveb