Des questions):
Comment suis-je censé compiler une seule classe? Comment puis-je le mettre dans le fichier de classe (que j'ai créé)? Eclipse ne compile-t-il pas automatiquement toutes les classes au moment de l'exécution?
L'histoire en arrière:
Je suis un tutorial et il me dit de:
Placez la classe compilée dans WEB-INF/classes.
Où est la classe:
package org.odata4j.Tomcat;
import Java.util.Properties;
import org.core4j.Enumerable;
import org.core4j.Func;
import org.core4j.Funcs;
import org.odata4j.producer.ODataProducer;
import org.odata4j.producer.ODataProducerFactory;
import org.odata4j.producer.inmemory.InMemoryProducer;
public class ExampleProducerFactory implements ODataProducerFactory {
@Override
public ODataProducer create(Properties properties) {
InMemoryProducer producer = new InMemoryProducer("example");
// expose this jvm's thread information (Thread instances) as an entity-set called "Threads"
producer.register(Thread.class, Long.class, "Threads", new Func<Iterable<Thread>>() {
public Iterable<Thread> apply() {
ThreadGroup tg = Thread.currentThread().getThreadGroup();
while (tg.getParent() != null)
tg = tg.getParent();
Thread[] threads = new Thread[1000];
int count = tg.enumerate(threads, true);
return Enumerable.create(threads).take(count);
}
}, Funcs.method(Thread.class, Long.class, "getId"));
return producer;
}
}
Lorsque vous enregistrez votre fichier .Java
, Eclipse le compilera dans un fichier .class
s'il n'y a pas d'erreur de compilation. Vous pouvez généralement trouver ce fichier dans le sous-répertoire bin
de votre projet. En particulier, il sera dans bin/org/odata4j/Tomcat
car vous avez déclaré que votre classe appartenait au package org.odata4j.Tomcat
. N'hésitez pas à copier ce fichier où vous le souhaitez.
Je trouve mes fichiers de classes dans Projet -> Propriétés -> Chemin de construction Java dans le champ Dossier de sortie par défaut . Pour moi, le nom par défaut était 'nom-projet/cible/classes'.
votre emplacement de fichier Java doit être: org/odata4j/Tomcat/ExampleProducerFactory.Java
vous pouvez alors, en ligne de commande, faire: javac org/odata4j/Tomcat/ExampleProducerFactory.Java
qui créera le fichier de classe compilé: org/odata4j/Tomcat/ExampleProducerFactory.class
mettez-le dans un dossier WEB-INF/classes/org/odata4j/Tomcat/ExampleProducerFactory.class
mais mieux encore, créez un "projet Web dynamique" dans Eclipse, qui se chargera de tout pour vous (utilisez uniquement les valeurs par défaut). le résultat final sera un fichier .war
que vous pouvez créer avec l'option de menu: fichier-> exporter
un tel fichier .war
peut être déployé dans n’importe quel conteneur Web tel que Tomcat. recherchez un répertoire de déploiement automatique dans votre Tomcat ou utilisez la console de gestion Tomcat pour le déployer.
Une fois le fichier .Java compilé avec succès, le fichier .class sera placé dans le dossier bin sous le projet workspace .
Pour que cela fonctionne correctement dans Eclipse, vous devez travailler dans un "projet Web dynamique" et non dans un "projet Java" standard, qui n'est pas disponible dans le téléchargement Java standard de Eclipse.
Vous devez soit télécharger et utiliser la version Java EE d’Eclipse, soit ajouter le protocole WTP à votre installation actuelle pour l’obtenir.
Notez que le moyen le plus simple de se familiariser avec une application Web simple consiste à utiliser Netbeans, qui est correctement câblé par défaut (y compris un Tomcat) dans la version Java EE.
J'ouvre simplement l'emplacement du fichier Java (dans Package Explorer, faites un clic droit -> Afficher dans -> Explorateur système), allez en haut de l'espace de travail et recherchez le nom du fichier sans extension . Le fichier .class ainsi bien. Je viens de le supprimer.
En supposant que cette classe soit dans un fichier appelé ExampleProducerFactory.Java
, vous pouvez la compiler en ligne de commande en allant dans le répertoire contenant le fichier et en tapant
javac ExampleProducerFactory.Java
Cela créera un fichier nommé ExampleProducerFactory.class
que vous pourrez déplacer dans le répertoire souhaité.