คำถามติดแท็ก javac

javac เป็นคอมไพเลอร์ Java หลักซึ่งรวมอยู่ใน Java Development Kit (JDK) จาก Sun Microsystems (ปัจจุบันคือ Oracle) และในเวอร์ชันจากผู้จำหน่ายรายอื่นด้วย

1
ทำไมอาร์เรย์ [idx ++] + =“ a” เพิ่ม idx หนึ่งครั้งใน Java 8 แต่เพิ่มเป็นสองเท่าใน Java 9 และ 10
สำหรับความท้าทายนักกอล์ฟรหัสเพื่อน เขียนรหัสต่อไปนี้ : import java.util.*; public class Main { public static void main(String[] args) { int size = 3; String[] array = new String[size]; Arrays.fill(array, ""); for(int i = 0; i <= 100; ) { array[i++%size] += i + " "; } for(String element: array) { System.out.println(element); } } } …
751 java  java-8  javac  java-9  java-10 


12
ข้อผิดพลาด: java: การเปิดตัวแหล่งที่ไม่ถูกต้อง: 8 ใน Intellij มันหมายความว่าอะไร?
ฉันพยายามรวบรวมรหัสบางอย่างในฉันใช้ Intellij Ultimate 13.1.4 แต่ฉันได้รับข้อผิดพลาดต่อไปนี้และฉันไม่รู้ว่ามันหมายถึงอะไร: Information:Using javac 1.7.0_55 to compile java sources Information:java: Errors occurred while compiling module 'Example' Information:Compilation completed with 1 error and 0 warnings in 3 sec Information:1 error Information:0 warnings Error:java: invalid source release: 8 ฉันเดาว่ามันเกี่ยวข้องกับ Java 8 กับ Java 7 แต่ฉันไม่รู้ว่าอะไรเป็นพิเศษ ฉันได้ลองใช้ Google เพื่อหาข้อความนี้ แต่พวกเขาอาจพูดถึงjavacหรือtarget …

6
javac ไม่ได้รับการยอมรับว่าเป็นคำสั่งภายในหรือภายนอก, โปรแกรมที่ทำงานได้หรือแบตช์ไฟล์ [ปิด]
ปิด. คำถามนี้เป็นคำถามที่ไม่สามารถทำซ้ำหรือเกิดจากความผิดพลาด ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันพบข้อผิดพลาดขณะพยายามคอมไพล์โปรแกรม Java ฉันใช้ Windows (นี่เป็นปัญหาเฉพาะของ Windows) และฉันติดตั้ง JDK ล่าสุดแล้ว ฉันได้ลองวิธีแก้ปัญหาที่เกี่ยวข้องกับPATHตัวแปรแล้ว แต่ข้อผิดพลาดยังคงมีอยู่ เอาต์พุตคอนโซล: C:\>set path=C:Program Files (x86)\Java\jdk1.7.0\bin C:\>javac Hello.java 'javac' is not recognized as an internal or external command, operable program or batch file.

4
เหตุใดคลาส Java จึงคอมไพล์แตกต่างกับบรรทัดว่าง
ฉันมีคลาส Java ต่อไปนี้ public class HelloWorld { public static void main(String []args) { } } เมื่อฉันรวบรวมไฟล์นี้และเรียกใช้ sha256 กับไฟล์คลาสที่ได้รับ 9c8d09e27ea78319ddb85fcf4f8085aa7762b0ab36dc5ba5fd000dccb63960ff HelloWorld.class ต่อไปฉันแก้ไขคลาสและเพิ่มบรรทัดว่างแบบนี้: public class HelloWorld { public static void main(String []args) { } } อีกครั้งฉันรัน sha256 บนผลลัพธ์ที่คาดหวังว่าจะได้ผลลัพธ์เดียวกัน แต่กลับได้ 11f7ad3ad03eb9e0bb7bfa3b97bbe0f17d31194d8d92cc683cfbd7852e2d189f HelloWorld.class ฉันได้อ่านบทความ TutorialsPoint นี้แล้วว่า: บรรทัดที่มีช่องว่างเท่านั้นอาจมีความคิดเห็นเป็นที่รู้จักกันเป็นบรรทัดว่างและ Java ละเว้นทั้งหมด ดังนั้นคำถามของฉันคือเนื่องจาก Java ละเว้นบรรทัดว่างเหตุใด bytecode ที่คอมไพล์จึงแตกต่างกันสำหรับทั้งสองโปรแกรม …

4
อะไรคือความแตกต่างระหว่าง javac และคอมไพเลอร์ Eclipse?
คอมไพเลอร์ Java ของ Eclipse เป็นเพียงตัวคลุมรอบแกนกลางเดียวกันกับที่javacโปรแกรมถูกล้อมรอบหรือเป็นคอมไพเลอร์แยกกันทั้งหมดหรือไม่ หากหลังทำไมพวกเขาจะบูรณาการล้อ?
201 java  eclipse  javac 


4
คำสั่ง 'java' รวบรวมโปรแกรม Java หรือไม่
เว็บไซต์ส่วนใหญ่บนอินเทอร์เน็ตพูดว่า: "ใช้javacคำสั่งเพื่อรวบรวม.javaไฟล์จากนั้นเรียกใช้โดยใช้javaคำสั่ง" แต่วันนี้ฉันพยายามรันโปรแกรมจาวาโดยไม่ใช้javacและฉันได้ผลลัพธ์ที่แปลก นี่คือเนื้อหาของไฟล์ที่เรียกว่าhello.java: public class Myclass { public static void main(String[] args){ System.out.println("hello world"); } } จากนั้นฉันก็วิ่ง: $ javac hello.java ซึ่งทำให้ฉันข้อผิดพลาดนี้: hello.java:1: error: class Myclass is public, should be declared in a file named Myclass.java public class Myclass { ^ 1 error แต่เมื่อฉันรันโดยไม่มีjavacคำสั่งมันจะทำงานโดยไม่มีข้อผิดพลาด $ java hello.java hello world ที่ไม่javaคำสั่งนอกจากนี้ยังรวบรวมโปรแกรมได้หรือไม่ …
145 java  javac 

6
วิธีเพิ่ม -Xlint: ไม่ถูกตรวจสอบในโครงการ Android Gradle ของฉัน
ฉันพยายามเพิ่มสิ่งต่อไปนี้ในbuild.gradleไฟล์รูท: subprojects { gradle.projectsEvaluated { tasks.withType(Compile) { options.compilerArgs << "-Xlint:unchecked -Xlint:deprecation" } } } แต่ฉันได้รับสิ่งนี้: FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':Libraries:ActionBarSherlock:compileRelease'. > invalid flag: -Xlint:unchecked -Xlint:deprecation ผมทำอะไรผิดหรือเปล่า?
138 android  gradle  javac  lint 

17
javac ไม่ทำงานในพรอมต์คำสั่งของ windows
ฉันพยายามใช้javacกับพรอมต์คำสั่งของ windows แต่ใช้ไม่ได้ หลังจากเพิ่มไดเร็กทอรี"C:\Program Files\Java\jdk1.6.0_16\bin\"ที่ส่วนท้ายของPATHตัวแปรสภาพแวดล้อมjavaคำสั่งจะทำงานได้ดี แต่การใช้javacทำให้ฉันมีข้อผิดพลาดต่อไปนี้: ไม่รู้จัก 'javac' เป็นคำสั่งภายในหรือภายนอกโปรแกรมที่ใช้งานได้หรือไฟล์แบตช์

9
ตัวเลือก javac เพื่อรวบรวมไฟล์ java ทั้งหมดภายใต้ไดเร็กทอรีที่กำหนดแบบวนซ้ำ
ฉันใช้คอมไพเลอร์ javac เพื่อรวบรวมไฟล์ java ในโครงการของฉัน com.vistas.utilไฟล์จะถูกกระจายไปทั่วหลายแพ็กเกจเช่นนี้: com.vistas.converter, com.vistas.LineHelper, com.current.mdcontect, แต่ละแพ็คเกจเหล่านี้มีไฟล์ java หลายไฟล์ ฉันใช้ javac แบบนี้: javac com/vistas/util/*.java com/vistas/converter/*.java com.vistas.LineHelper/*.java com/current/mdcontect/*.java (ในบรรทัดเดียว) แทนที่จะให้พา ธ มากมายฉันจะขอให้คอมไพเลอร์รวบรวมไฟล์ java ทั้งหมดแบบวนซ้ำจากไดเร็กทอรี com หลักได้อย่างไร
127 java  javac 

12
ข้อผิดพลาด javac: ชื่อคลาสจะได้รับการยอมรับก็ต่อเมื่อมีการร้องขอการประมวลผลคำอธิบายประกอบอย่างชัดเจน
ฉันได้รับข้อผิดพลาดนี้เมื่อฉันรวบรวมโปรแกรม java ของฉัน: error: Class names, 'EnumDevices', are only accepted if annotation processing is explicitly requested 1 error นี่คือรหัส java (ฉันใช้งานบน Ubuntu) import jcuda.CUDA; import jcuda.driver.CUdevprop; import jcuda.driver.types.CUdevice; public class EnumDevices { public static void main(String args[]) { CUDA cuda = new CUDA(true); int count = cuda.getDeviceCount(); System.out.println("Total number of …
113 java  javac 

11
javac: ไม่พบคำสั่ง
ผมได้ติดตั้ง Java ในของฉันCentOS ปล่อย 5.5yum install javaเครื่องใช้คำสั่ง แต่ฉันไม่สามารถรวบรวมคลาสโดยใช้ javac ต้องติดตั้งแพ็คเกจอื่นหรือไม่? ฉันพยายามค้นหาjavacไฟล์ปฏิบัติการ แต่ไม่พบ /usr/bin/javaมีการเชื่อมโยงดังนี้: /usr/bin/java-> /etc/alternatives/java /etc/alternatives/java->/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java ฉันได้เห็นผลลัพธ์ต่อไปนี้โดยyum list installed |grep java: java-1.6.0-openjdk.x86_64 1:1.6.0.0-1.16.b17.el5 installed tzdata-java.x86_64 2011b-1.el5 installed

11
การสร้างไฟล์คลาส Java ถูกกำหนดหรือไม่?
เมื่อใช้JDK เดียวกัน (เช่นjavacปฏิบัติการเดียวกัน) ไฟล์คลาสที่สร้างขึ้นจะเหมือนกันเสมอหรือไม่? อาจมีความแตกต่างขึ้นอยู่กับระบบปฏิบัติการหรือฮาร์ดแวร์หรือไม่? ยกเว้นรุ่น JDK อาจมีปัจจัยอื่นที่ทำให้เกิดความแตกต่างหรือไม่? มีตัวเลือกคอมไพเลอร์เพื่อหลีกเลี่ยงความแตกต่างหรือไม่? ความแตกต่างอาจเป็นไปได้ในทางทฤษฎีเท่านั้นหรือ Oracle javacสร้างไฟล์คลาสที่แตกต่างกันสำหรับตัวเลือกอินพุตและคอมไพเลอร์เดียวกันหรือไม่ อัปเดต 1ฉันสนใจในการสร้างเช่นเอาต์พุตของคอมไพเลอร์ไม่ใช่ว่าไฟล์คลาสสามารถเรียกใช้บนแพลตฟอร์มต่างๆได้หรือไม่ อัปเดต 2โดย 'Same JDK' ฉันยังหมายถึงjavacปฏิบัติการเดียวกัน อัปเดต 3ความแตกต่างระหว่างความแตกต่างทางทฤษฎีและความแตกต่างในทางปฏิบัติในคอมไพเลอร์ของ Oracle [แก้ไขเพิ่มคำถามถอดความ] "อะไรคือสถานการณ์ที่เรียกใช้งาน javac เดียวกันเมื่อรันบนแพลตฟอร์มอื่นจะสร้าง bytecode ที่แตกต่างกัน"


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.