10
votes

Javac: version de la cible non valide: 1.7

Utilisation d'OS X Mavericks, et après la mise à niveau de mon JDK, je ne peux plus compiler avec la fourmi.

J'ai fait le googling habituel et la vaste majorité des réponses pointe vers Java_Home ne pas être définie. P> Aide-moi Stackoverflow, vous êtes mon seul espoir! p>

Informations utiles P>

$ tail -n1 /etc/profile
export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)

$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home

$ which javac
/usr/bin/javac

$ ls -lah /usr/bin/javac
lrwxr-xr-x  1 root  wheel    75B  8 Jan 11:23 /usr/bin/javac -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javac

$ ls -lah /System/Library/Frameworks/JavaVM.framework/Versions/
total 80
drwxr-xr-x  13 root  wheel   442B 19 Mar 10:10 .
drwxr-xr-x  12 root  wheel   408B 19 Mar 09:59 ..
lrwxr-xr-x   1 root  wheel    10B  8 Jan 11:23 1.4 -> CurrentJDK
lrwxr-xr-x   1 root  wheel    10B  8 Jan 11:23 1.4.2 -> CurrentJDK
lrwxr-xr-x   1 root  wheel    10B  8 Jan 11:23 1.5 -> CurrentJDK
lrwxr-xr-x   1 root  wheel    10B  8 Jan 11:23 1.5.0 -> CurrentJDK
lrwxr-xr-x   1 root  wheel    10B  8 Jan 11:23 1.6 -> CurrentJDK
lrwxr-xr-x   1 root  wheel    10B  8 Jan 11:23 1.6.0 -> CurrentJDK
lrwxr-xr-x   1 root  wheel    10B 19 Mar 10:10 1.7 -> CurrentJDK
lrwxr-xr-x   1 root  wheel    10B 19 Mar 10:10 1.7.0 -> CurrentJDK
drwxr-xr-x   8 root  wheel   272B  8 Jan 11:23 A
lrwxr-xr-x   1 root  wheel     1B  8 Jan 11:23 Current -> A
lrwxr-xr-x   1 root  wheel    58B 19 Mar 10:10 CurrentJDK -> /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents

$ javac -version -source 1.7 -target 1.7 -fork true
javac 1.7.0_51
javac: invalid source release: 1.7
Usage: javac <options> <source files>


1 commentaires

J'ai la même version (pas le même système d'exploitation) et cela fonctionne pour moi ... "Nice" problème que vous avez ici.


3 Réponses :


0
votes

Je suis aussi sur OS X Mavericks avec Java 1.7.0_51 de Oracle. Il n'y a pas d'option -Fork code>, mais tout semble fonctionner bien:

helloworld.java h3> xxx pré>

commande: h3>
0000000    j   a   v   a   c       -   v   e   r   s   i   o   n       -
           6a  61  76  61  63  20  2d  76  65  72  73  69  6f  6e  20  2d
0000020    s   o   u   r   c   e       1   ․  **  **   7       -   t   a
           73  6f  75  72  63  65  20  31  e2  80  a4  37  20  2d  74  61
0000040    r   g   e   t       1   .   7       *   .   j   a   v   a  \n
           72  67  65  74  20  31  2e  37  20  2a  2e  6a  61  76  61  0a
0000060
  • Que se passe-t-il si vous quittez le -Source code> et -Target code> out? li>
  • Et si vous n'avez qu'un ou l'autre? Fonctionne-t-il avec 1.6 code> au lieu de 1.7 code>? Li> ul>

    Le message d'erreur que vous obtenez est le même message d'erreur que je reçois lorsque j'essaie 1.8 code>. Essayez-vous de compiler à partir de la ligne de commande ou d'Eclipse ou d'ant? P>

    une autre possibilité finale: le . Code> n'est pas une période: p> xxx pré>

    Ce n'est pas une période. C'est un petit arrêt complet em> E2: 80: A4 code> et pas un stop / période em> ( 2e code>): xxx pré> p>


2 commentaires

Salut David W (intéressant aussi mon nom :) Pour répondre à vos questions, Officiel Oracle, à l'aide de la fourmi, aucune citation ne fonctionne. Essayer de compiler le monde Hello me donne un aperçu du problème bien que "$ javac -version * .java \ javac 1.7.0_51 helloworld.java:1: impossible d'accéder à java.lang.Object \ Bad Class File: / Bibliothèque / Java /Javavirtualmocachines/jdk1.7.0_51.jdk/Contents/H OME / JRE / LANG / RT.JAR (JVA / LANG / Object.clas s) \ Le fichier de classe a une mauvaise version 51.0, devrait être 49.0: "


Résolu par "sudo cp $ java_home / lib / tools.jar / bibliothèque / java / extensions /" - Je vais répondre à la question et merci officiellement une fois 8h a passé



14
votes

Merci à @ David-w pour l'effort et aidez à affiner le problème.

à résoudre, j'ai dû xxx

comme mentionné ICI < / p>

os stupide x


1 commentaires

Il n'y a pas de fichier d'outils.jar dans ce chemin pour moi. Je vois des choses comme se déployer.jar, jce.jar, jconsole.jar, mais pas outils.jar - aucune idée pourquoi?



2
votes

La solution dans la réponse acceptée n'a pas fonctionné pour moi; J'ai eu l'erreur:

Outils.jar: Aucun fichier ou répertoire de ce type.

Cependant, j'ai trouvé une solution de travail ici . En bref, j'ai installé La dernière version de la JDK de Oracle Site Web et cela résout le problème.


4 commentaires

@Kenhampson Oui C'est une autre solution au même problème. Mais celui-ci a travaillé pour moi et non l'accepté. Je ne comprends pas le bowvote ...


@desgnl: Je ne t'ai pas répondu. J'ai simplement ajouté un commentaire dans le processus d'examen. Le fait que la solution ici n'a pas fonctionné pour vous suggère que c'était un problème similaire, finalement différent.


@Kenhampson Le fait que cela fournisse une autre solution en fait une réponse valide.


@EJP: OK, assez juste.