System.setProperty non reconnu

Fermé
yoruichiy - 5 juin 2013 à 14:44
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 5 juin 2013 à 18:18
Bonjour,

j'ai installé la derniere version du jdk 7 u21,
et plusieurs fonctions de base de java ne sont pas reconnues
System.setProperty("", ""); est inutilisable et affiche une erreur disant que setProperty n'existe pas alors que dans l'API java il existe bien, de même en faisant des ctrl espace,
eclipse ne trouve aucune fonction de la classe System

je suis sous linux fedora 17 et eclipse juno.

comment cela est il possible comment corriger le problème
les autres fonctions style System.out.println marchent .... donc ce n'est pas un problème de variable d'environnement.

merci par avance
je ne trouve pas de solution depuis 2 jours

3 réponses

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
5 juin 2013 à 15:04
"eclipse ne trouve aucune fonction de la classe System"
"les autres fonctions style System.out.println marchent"

Il faudrait savoir... si System.out fonctionne, alors ce ne sont pas toutes les fonctions de System qui ne fonctionnent pas !

Si tu peux, essayes ce code :

public class Test
{
  public static void main(String[] args)
  {
    System.out.println(java.util.Arrays.toString(System.class.getMethods()));
  }
}
0
merci,
le résultat affiche toutes les fonctions pourtant tout ce qui concerne setProperties ne fonctionne pas chez moi :'(
j'ai openjdk et jdk oracle installés en même temps ....
je ne peux pas supprimer openjdk qui a plein de dépendances linux
je n'arrive pas non plus a désinstaller l'eclipse juno installé par défaut avec fedora
ni à réinstaller une autre version

j'obtiens ceci:

[public static void java.lang.System.exit(int), public static void java.lang.System.runFinalization(), public static void java.lang.System.runFinalizersOnExit(boolean), public static java.lang.String java.lang.System.setProperty(java.lang.String,java.lang.String), public static java.lang.String java.lang.System.getProperty(java.lang.String), public static java.lang.String java.lang.System.getProperty(java.lang.String,java.lang.String), public static native int java.lang.System.identityHashCode(java.lang.Object), public static native long java.lang.System.currentTimeMillis(), public static native long java.lang.System.nanoTime(), public static native void java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int), public static java.lang.SecurityManager java.lang.System.getSecurityManager(), public static void java.lang.System.load(java.lang.String), public static void java.lang.System.loadLibrary(java.lang.String), public static native java.lang.String java.lang.System.mapLibraryName(java.lang.String), public static java.lang.String java.lang.System.clearProperty(java.lang.String), public static java.io.Console java.lang.System.console(), public static void java.lang.System.gc(), public static java.util.Properties java.lang.System.getProperties(), public static java.util.Map java.lang.System.getenv(), public static java.lang.String java.lang.System.getenv(java.lang.String), public static java.nio.channels.Channel java.lang.System.inheritedChannel() throws java.io.IOException, public static java.lang.String java.lang.System.lineSeparator(), public static void java.lang.System.setErr(java.io.PrintStream), public static void java.lang.System.setIn(java.io.InputStream), public static void java.lang.System.setOut(java.io.PrintStream), public static void java.lang.System.setProperties(java.util.Properties), public static void java.lang.System.setSecurityManager(java.lang.SecurityManager), public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException, public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException, public final void java.lang.Object.wait() throws java.lang.InterruptedException, public boolean java.lang.Object.equals(java.lang.Object), public java.lang.String java.lang.Object.toString(), public native int java.lang.Object.hashCode(), public final native java.lang.Class java.lang.Object.getClass(), public final native void java.lang.Object.notify(), public final native void java.lang.Object.notifyAll()]
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
5 juin 2013 à 18:18
Pourtant la méthode setProperty est trouvée, donc elle est là ! De toute façon, il n'y a pas de raison pour qu'une partie de la classe fonctionne et pas l'autre...

public static java.lang.String java.lang.System.setProperty( java.lang.String,java.lang.String)

Par contre ton utilisation setProperty("","") n'est pas correcte, la clé doit pas être vide, tu vas avoir un IllegalArgumentException...

Pour ce qui est de ton histoire de jdk, il est possible d'en avoir plusieurs sur le même ordinateur, il faut juste configurer Eclipse pour qu'il trouve la bonne...
0