“ ไม่สามารถเริ่มการคอมไพล์: ไม่ได้ระบุพา ธ เอาต์พุตสำหรับโมดูล…”


109

ฉันมีโปรเจ็กต์ Java + Gradle ที่เรียบง่ายมาก มันสร้างได้ดี มันทำงานได้ดีจากเชลล์ด้วย "gradle run" อย่างไรก็ตามหากฉันพยายามวิ่งภายใน IntelliJ ฉันจะได้รับ:

Cannot start compilation: the output path is not specified for module "xyz" Specify the output path in Configure Project.

"เอาต์พุตคอมไพเลอร์" ของฉันถูกตั้งค่าเป็น "รับเส้นทางเอาต์พุตการคอมไพล์โปรเจ็กต์" ฉันไม่ต้องการพา ธ เอาต์พุตที่กำหนดเองไม่ว่าจะเป็นอะไรก็ตามเพียงแค่สร้างและรัน gradle ตามปกติ


1
เมื่อเรียกใช้โค้ดจาก IntelliJ โค้ดจะถูกคอมไพล์และรันโดย IntelliJ แทนที่จะเป็น Gradle และจะใช้ไดเร็กทอรีเอาต์พุตบิลด์อื่น (Android เป็นคนละเรื่องกัน) อย่างไรก็ตามหากนำเข้าบิวด์ Gradle อย่างถูกต้องไดเร็กทอรีเอาต์พุต IntelliJ ควรได้รับการกำหนดค่าไว้แล้ว
Peter Niederwieser

คำตอบ:


104

คุณต้องไปที่ของคุณModule settings > Projectและระบุ "เอาต์พุตของคอมไพเลอร์โครงการ" และทำให้โมดูลของคุณสืบทอดมาจากโครงการ (สำหรับที่ไปModules > Paths > Inherit project.

นี้ได้เคล็ดลับสำหรับฉัน.


20
การไม่เลือกInherit Projectตัวเลือกนั้นเหมาะกับฉัน
Krish Munot

6
ทำไมมันไม่คิดออกมาเอง ทุกคนบอกว่า IntelliJ ดีกว่า Eclipse แต่จากประสบการณ์ของฉันมันคิดเองไม่ได้
Andrew S

FYI ฉันพบว่าใน IntelliJ คุณสร้างไฟล์> ใหม่> โมดูล ... และสร้างโมดูล Java เส้นทางเอาต์พุตควรได้รับการตั้งค่าตามค่าเริ่มต้น
J Woodchuck

หากไม่ได้ผลอย่าลืมรีสตาร์ท IntelliJ แก้ไขให้ฉัน
Cobie Fisher

99

คุณต้องกำหนดเส้นทางในฟิลด์ " เอาต์พุตของคอมไพเลอร์โครงการ " ใน

File> Project Structure...> Project>Project compiler output

เส้นทางนี้จะใช้ในการเก็บทุกโครงการผลการรวบรวม


10

ในขณะกำหนดค่าปลั๊กอินไอเดียใน gradle คุณควรกำหนดไดเร็กทอรีเอาต์พุตดังนี้

idea{
    module{
        inheritOutputDirs = false
        outputDir = compileJava.destinationDir
        testOutputDir = compileTestJava.destinationDir
    }
}

ดูดี. ฉันใส่การกำหนดค่านี้ในไฟล์อะไร
ดิน

คุณควรใส่ลงในไฟล์ build.gradle ในโปรเจ็กต์ของคุณ
lemiorhan

10

ฉันกำลังตอบคำถามนี้เพื่อที่ฉันจะได้พบวิธีแก้ปัญหาเมื่อฉันต้อง google ข้อผิดพลาดนี้อีกครั้ง

path_of_the_project_folder/outชุดโครงการเส้นทางออกไปรวบรวม นั่นคือสิ่งที่ทำงานในวันนี้ เอกสาร intellj ทำให้ดูเหมือนว่าเราสามารถเลือกโฟลเดอร์ใดก็ได้ แต่ไม่เป็นเช่นนั้น


7

หากวิธีการข้างต้นไม่ได้ผลลองใช้วิธีนี้ได้ผลสำหรับฉัน

ไปที่ไฟล์> โครงสร้างโครงการ> โครงการและจากนั้นในโครงการคอมไพเลอร์เอาท์พุทคลิกที่จุดสามจุดและให้เส้นทางของชื่อโครงการของคุณ (ชื่อไฟล์) และจากนั้นคลิกที่สมัครและกว่าตกลง

มันควรจะเป็นเช่นนั้นในภาพที่ฉันโพสต์


8
ไม่มีภาพในคำตอบของคุณ
James Whiteley

2
@priyanshu: เอาจริง ๆ ไม่มีรูปในโพสต์ของคุณ
Pawan

5

เปิดไฟล์. iml มองหาคำหลัก 'NewModuleRootManager' ตรวจสอบว่าแอตทริบิวต์ 'inherit-compiler-output' ถูกตั้งค่าเป็นจริงหรือไม่ หากไม่ได้ตั้งค่าเป็นจริง

แบบนี้ :

component name="NewModuleRootManager" inherit-compiler-output="true">
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
      <sourceFolder url="file://$MODULE_DIR$/app" isTestSource="false" />

3

สองสิ่งที่ต้องทำ:

  1. การตั้งค่าโครงการ> เอาต์พุตของคอมไพเลอร์โครงการ > ตั้งเป็น "เส้นทางโครงการ (เส้นทางของโครงการจริงของคุณ)” +” \ out”

  2. การตั้งค่าโครงการ> โมดูล> เส้นทาง> เลือก "รับเส้นทางการคอมไพล์โครงการ "


1

หลังจากนี้

สองสิ่งที่ต้องทำ:

การตั้งค่าโครงการ> เอาต์พุตของคอมไพเลอร์โครงการ> ตั้งค่าเป็น "เส้นทางโครงการ (เส้นทางของโครงการจริงของคุณ)” +” \ out”

การตั้งค่าโครงการ> โมดูล> เส้นทาง> เลือก "รับเส้นทางการคอมไพล์โครงการ" "

หากปุ่มวิ่งไม่ทำงาน

คุณต้องโหลด IDEA ใหม่




0

ฉันได้รับข้อผิดพลาดนี้เช่นกันเมื่อสร้างโครงการใน IntelliJ โดยไม่ใช้เทมเพลต

ฉันติดตั้ง SDK แล้ว 2 รายการ: Amazon Corretto และ java เวอร์ชัน 11.0.4 และสิ่งที่ฉันทำเมื่อมีข้อผิดพลาดนี้คือ "เปลี่ยน SDK" ซึ่งโดยปกติจะใช้งานได้ดีกับ Corretto

ในการดำเนินการนั้นคุณต้องคลิกที่ File (ใน IntelliJ) / Project Structure / Project / Project SDK: เลือก corretto จากรายการแบบเลื่อนลง (หรือตรวจสอบตัวเลือกในคอมพิวเตอร์ของคุณ) ดังที่แสดงไว้ที่นี่

หวังว่านี่จะได้ผลสำหรับคุณเช่นกัน

ดีที่สุด Constantin


0

จุดบกพร่องที่เกิดจากไม่มีโฟลเดอร์ที่กำหนดไว้ล่วงหน้าสำหรับเก็บไฟล์คลาสที่คอมไพล์ซึ่งโดยปกติจะเป็นโฟลเดอร์ / ออกตามค่าเริ่มต้น คุณสามารถลองปิด Intellij> Import Project> จากแหล่งที่มีอยู่ วิธีนี้จะแก้ปัญหานี้ได้

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