javac ist der primäre Java-Compiler, der im Java Development Kit (JDK) von Sun Microsystems (jetzt Oracle) sowie in Versionen anderer Anbieter enthalten ist.
Der Anwendungsfall ist einfach. Ich habe die Quelldateien erhalten, die mit Eclipse erstellt wurden. Es gibt also eine tiefe Verzeichnisstruktur, in der jede Java-Klasse auf eine andere Java-Klasse im selben, untergeordneten, geschwisterlichen oder übergeordneten Ordner verweisen kann. Wie kompiliere ich das Ganze mit javac vom Terminal aus?
Ich bin dabei, einen hässlichen temporären Hack zu begehen, um ein Blockierungsproblem zu umgehen, während wir darauf warten, dass eine externe Ressource behoben wird. Abgesehen davon, dass ich es mit einem großen, beängstigenden Kommentar und einer Reihe von FIXMEs markiert habe, möchte ich, dass der Compiler eine offensichtliche Warnmeldung als …
Wenn ich versuche, eine Kriegsdatei zu generieren, zeigt es einige Fehler wie [ERROR] Unable to locate the Javac Compiler in: [ERROR] C:\Program Files\Java\jre7\..\lib\tools.jar Wenn ich es tue echo %path%, zeigt es C:\Windows\System32;D:\name\name1\Softwares\Maven\apache-maven-3.0.4\b in;C:\Program Files\Notepad++\;%JDK_HOME% Wenn ich es tue echo %JDK_HOME% D:\name\name\core java\software\Java\Java_1.6.0_04_win\jdk1.6.0_04\bin Ich weiß nicht, warum sich maven auf jre …
Wenn ich versuche, a Stringin a java.util.Dateumzuwandeln, fängt der Java-Compiler den Fehler ab. Warum kennzeichnet der Compiler Folgendes nicht als Fehler? List<String> strList = new ArrayList<>(); Date d = (Date) strList; Natürlich wirft die JVM a ClassCastException löst zur Laufzeit eine aus, aber der Compiler kennzeichnet sie nicht. Das Verhalten …
Der folgende Code: void someMethod(Object value) { String suffix = getSuffix(); if (suffix != null) value += suffix; [...] } Kompiliert fehlerfrei in JDK 8 (mit -source 1.6), schlägt jedoch in JDK 6 mit der Fehlermeldung fehl: Operator '+' cannot be applied to java.lang.Object and java.lang.String Obwohl ich verstehe, worum …
Ich beantwortete eine Frage und stieß auf ein Szenario, das ich nicht erklären kann. Betrachten Sie diesen Code: interface ConsumerOne<T> { void accept(T a); } interface CustomIterable<T> extends Iterable<T> { void forEach(ConsumerOne<? super T> c); //overload } class A { private static CustomIterable<A> iterable; private static List<A> aList; public static …
Betrachten Sie die folgenden zwei Klassen und Schnittstellen: public class Class1 {} public class Class2 {} public interface Interface1 {} Warum ruft der zweite Aufruf mandatorydie überladene Methode auf Class2, wenn getInterface1und Interface1hat keine Beziehung zu Class2? public class Test { public static void main(String[] args) { Class1 class1 = …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.