Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[QUESTION JAVA] Iimpossible de créer une Class

11 réponses
Avatar
stephane.martin
Bonjour,

Je débute en language JAVA, je rencontre un problème pour créér une
class.

Dans le teminal si je tape :

Imac-Stephane-MARTIN:documents martin$

javac -/Documents/java/HelloWorld.java

j' obtiens

javac: invalid flag: -
Usage: javac <options> <source files>

et non un ficher HelloWorld.class


--
Stéphane MARTIN

10 réponses

1 2
Avatar
unbewusst.sein
Stéphane Martin wrote:

Je débute en language JAVA, je rencontre un problème pour créér une
class.

Dans le teminal si je tape :

Imac-Stephane-MARTIN:documents martin$

javac -/Documents/java/HelloWorld.java

j' obtiens

javac: invalid flag: -
Usage: javac <options> <source files>

et non un ficher HelloWorld.class



chez moi ça roule, pas d'options à définir :
iMac-yt:~ yt$ cd /Users/yt/dev/Java
iMac-yt:Java yt$ ls
FirstApp.java
iMac-yt:Java yt$ javac FirstApp.java
iMac-yt:Java yt$ ls
FirstApp.class FirstApp.java
iMac-yt:Java yt$ java FirstApp
Hello World
iMac-yt:Java yt$

avec le fichier FirstApp.java :
class FirstApp {
public static void main (String[] args){
System.out.println("Hello World");
}
}

sur SL...

--
« Il faut bien agiter le peuple avant de s'en servir »
Talleyrand
Avatar
stephane.martin
Une Bévue wrote:

chez moi ça roule, pas d'options à définir :
iMac-yt:~ yt$ cd /Users/yt/dev/Java
iMac-yt:Java yt$ ls
FirstApp.java
iMac-yt:Java yt$ javac FirstApp.java
iMac-yt:Java yt$ ls
FirstApp.class FirstApp.java
iMac-yt:Java yt$ java FirstApp
Hello World
iMac-yt:Java yt$

avec le fichier FirstApp.java :
class FirstApp {
public static void main (String[] args){
System.out.println("Hello World");
}
}

sur SL...



Tu le compile en faisant appel a

javac -
--
Stéphane MARTIN
Avatar
Anthony Gelibert
On 2010-01-20 16:18:04 +0100, Stéphane Martin said:

Bonjour,

Je débute en language JAVA, je rencontre un problème pour créér une
class.

Dans le teminal si je tape :

Imac-Stephane-MARTIN:documents martin$

javac -/Documents/java/HelloWorld.java

j' obtiens

javac: invalid flag: -
Usage: javac <options> <source files>

et non un ficher HelloWorld.class




C'est simple, le problème vient de ton caractère '-'.
Deux solutions :
- soit tu vas dans le dossier ~/Documents/java et tu fais javac
HelloWorld.java
- soit tu fais un javac ~/Documents/java/HelloWorld.java
Avatar
unbewusst.sein
Stéphane Martin wrote:

Tu le compile en faisant appel a



ben non, la ligne est :

$ javac FirstApp.java

la différence d'avec toi est que j'ai le PATH complet au fichier et toi
il y a me semble -t'il le HOME (ie ~) ...

mais bon je ne vois pas pourquoi ça poserait problème...
--
« Il faut bien agiter le peuple avant de s'en servir »
Talleyrand
Avatar
Anthony Gelibert
On 2010-01-21 08:55:51 +0100, Une Bévue said:

Stéphane Martin wrote:

Tu le compile en faisant appel a



ben non, la ligne est :

$ javac FirstApp.java

la différence d'avec toi est que j'ai le PATH complet au fichier et toi
il y a me semble -t'il le HOME (ie ~) ...

mais bon je ne vois pas pourquoi ça poserait problème...



La différence c'est que le tilde n'est pas interprété comme un
paramètre spécial alors que ton tiret l’est !!!
Quand tu fais javac -/... il croit que tu veux passer le paramètre
spécial -/...

Tape « javac -help » pour t'en convaincre, as-tu essayé avec le tilde
au lieu du tiret ?
Avatar
stephane.martin
Anthony Gelibert wrote:


C'est simple, le problème vient de ton caractère '-'.
Deux solutions :
- soit tu vas dans le dossier ~/Documents/java et tu fais javac
HelloWorld.java
- soit tu fais un javac ~/Documents/java/HelloWorld.java



C'est corrigé -:)

Mais maintenant c'est à l' execution que cela ne passe pas ?

j'obtiens cela, lorsque je tape :


java -cp -/documents/HelloWorld


Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)

where options include:
-d32 use a 32-bit data model if available
-d64 use a 64-bit data model if available (implies -server,
only for x86_64)
-client to select the "client" VM
-server to select the "server" VM
-jvm is a synonym for the "client" VM [deprecated]
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is client.

-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A : separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose[:class|gc|jni]
enable verbose output
-version print product version and exit
-version:<value>
require the specified version to run
-showversion print product version and continue
-jre-restrict-search | -jre-no-restrict-search
include/exclude user private JREs in the version
search
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g.
-agentlib:hprof
see also, -agentlib:jdwp=help and
-agentlib:hprof=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see
java.lang.instrument
-splash:<imagepath>
show splash screen with specified image
Imac-Stephane-MARTIN:~ martin$ java -cp -/documents/HelloWworld



/"
--
Stéphane MARTIN
Avatar
unbewusst.sein
Stéphane Martin wrote:

java -cp -/documents/HelloWorld



zuh, comme je l'ai montré + haut dans le fil, il faut faire :

$ java HelloWorld

si tu es dans le bon rép où, dans ton k :

$ java ~/Documents/HelloWorld

ou encore avec le path complet :

$ java /Users/<ton login abrégé/Documents/HelloWorld

--
« Il faut bien agiter le peuple avant de s'en servir »
Talleyrand
Avatar
stephane.martin
Une Bévue wrote:

$ java HelloWorld

si tu es dans le bon rép où, dans ton k :


ok là cela fonctionne

Mais maintenant si j'essais ça :

$ java ~/Documents/HelloWorld


voilà ce que cela donne :

Imac-Stephane-MARTIN:~ martin$ java ~/Documents/HelloWorld
Exception in thread "main" java.lang.NoClassDefFoundError:
/Users/martin/Documents/HelloWorld
Caused by: java.lang.ClassNotFoundException:
.Users.martin.Documents.HelloWorld
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:315)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:330)
at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)
Imac-Stephane-MARTIN:~ martin$

et avec le path complet


Imac-Stephane-MARTIN:~ martin$ java/Users/martin/Documents/HelloWorld
-bash: java/Users/martin/Documents/HelloWorld: No such file or directory
Imac-Stephane-MARTIN:~ martin$

--
Stéphane MARTIN
Avatar
unbewusst
Le 22/01/2010 19:22, Stéphane Martin a écrit :
Imac-Stephane-MARTIN:~ martin$ java/Users/martin/Documents/HelloWorld
-bash: java/Users/martin/Documents/HelloWorld: No such file or directory
Imac-Stephane-MARTIN:~ martin$



là tu as oublié une espace netre java et /Users/martin/Documents/HelloWorld

au dessus c'est un autre problème, es tu sûr que la classe
"HelloWorld.class" se trouve bien dans le dossier
"/Users/martin/Documents/" ?

si oui, c'est peut-être le code lui-même qui pose pb, poste le ici alors...
Avatar
stephane.martin
unbewusst wrote:

à tu as oublié une espace netre java et /Users/martin/Documents/HelloWorld

au dessus c'est un autre problème, es tu sûr que la classe
"HelloWorld.class" se trouve bien dans le dossier
"/Users/martin/Documents/" ?

si oui, c'est peut-être le code lui-même qui pose pb, poste le ici alors...



Dans les deux cas cela donne ceci :


Imac-Stephane-MARTIN:~ martin$ java /users/martin/Documents/HelloWorld
Exception in thread "main" java.lang.NoClassDefFoundError:
/users/martin/Documents/HelloWorld
Caused by: java.lang.ClassNotFoundException:
.users.martin.Documents.HelloWorld
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:315)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:330)
at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)


Imac-Stephane-MARTIN:~ martin$ java ~/Documents/HelloWorld
Exception in thread "main" java.lang.NoClassDefFoundError:
/Users/martin/Documents/HelloWorld
Caused by: java.lang.ClassNotFoundException:
.Users.martin.Documents.HelloWorld
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:315)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:330)
at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)


voici le code :

class HelloWorld {
public static void main (Strings[] args) {
System.out.println("Hello World");
}
}



--
Stéphane MARTIN
1 2