Giriş
Derleyici. Ancak kod derlerken optimizasyon yapmaz. Bu komut Java 11 ile kalktı. Artık sadece java komutunu kullanarak dosyaları derleyip, çalıştırabiliriz.
-add-exports seçeneği
Şöyle yaparız.
Derleyici. Ancak kod derlerken optimizasyon yapmaz. Bu komut Java 11 ile kalktı. Artık sadece java komutunu kullanarak dosyaları derleyip, çalıştırabiliriz.
-add-exports seçeneği
Şöyle yaparız.
javac --add-exports java.security.jgss/sun.security.krb5.internal.ktab=ALL-UNNAMED
your-class
-classpath seçeneği
Şöyle yaparız.
Açıklaması şöyle
Örnek
Tüm kaynak kodlarımız src dizininde olsun. bin dizinine çıktı vermek için şöyle yaparız.
Açıklaması şöyle
Örnek ver
-g:vars seçeneği
Örnek ver
--release seçeneği - Java 9 İle Geliyor
Şöyle yaparız.
javac -classpath /lib/* Main.java
Bulunulan dizin ve src dizinini de kullanmak için şöyle yaparızjavac -cp lib/jar1.jar:lib/jar2.jar:.:src src/StockTradeGenerator.java
-d seçeneğiAçıklaması şöyle
.class dosyalarının hangi dizinde oluşturulacağın belirtir.Sets the destination directory for class files. If a class is part of a package, then javac puts the class file in a subdirectory that reflects the package name and creates directories as needed.
Örnek
Tüm kaynak kodlarımız src dizininde olsun. bin dizinine çıktı vermek için şöyle yaparız.
mkdir bin/
javac -d bin/ src/Test.java src/HelloWorld.java
-g:none seçeneğiAçıklaması şöyle
if it's compiled with -g:none (without any debugging information), then the line numbers will not be included, getLineNumber() always returns -1-g:source seçeneği
Örnek ver
-g:vars seçeneği
Örnek ver
--release seçeneği - Java 9 İle Geliyor
Yani eski JDK'yı kurmaya gerek kalmadan, daha eski bir Java sürümüne göre derleyip çalıştırabilmeyi sağlıyor.
--source 8 --target 8 kullanımı yerine artık --release seçeneğini kullanmak gerek. Açıklaması şöyle.
We defined a new command-line option, --release, which automatically configures the compiler to produce class files that will link against an implementation of the given platform version. For the platforms predefined in javac, --release N is equivalent to -source N -target N -bootclasspath <bootclasspath-from-N>.
Açıklaması şöyle.
For JDK N and --release M, M < N, signature data of the documented APIs of release M of the platform is needed. This data is stored in the $JDK_ROOT/lib/ct.sym file, which is similar, but not the same, as the file of the same name in JDK 8. The ct.sym file is a ZIP file containing stripped-down class files corresponding to class files from the target platform versions.
Örnek
Şöyle yaparız. Burada
--release ile target olarak JDK 21 belirtiliyor
--enable-preview ile henüz tam bitmemiş preview aşamasında olan dil özelliklerinin de etkinleştirilmesi isteniyor
javac --release 21 --enable-preview BlackJackHelloWorld.java
target seçeneği
Daha eski bir sürüme göre derlemek için şöyle yaparız.
% javac -target 1.6 <whatever you want to compile>
Hiç yorum yok:
Yorum Gönder