วิธีการตั้งค่าโครงการ IntelliJ Java App Engine เพื่อใช้บริการ (โมดูล)

ฉันใช้ IntelliJ ประสบความสำเร็จมาระยะหนึ่งแล้วในการพัฒนาโครงการ App Engine ที่มีบริการเดียว (เดิมเรียกว่า 'โมดูล') แต่ฉันประสบปัญหาในการตั้งค่าโครงการที่มีบริการมากกว่าหนึ่งบริการ (บริการส่วนหน้าเริ่มต้น รวมถึงบริการแบ็กเอนด์อย่างน้อยหนึ่งบริการ)

ฉันเข้าใจโครงสร้างโฟลเดอร์การปรับใช้ EAR แบบหลายโมดูล ซึ่งแตกต่างจากโครงสร้าง WAR เดียว แต่ฉันไม่สามารถทราบวิธีการเปิดใช้เซิร์ฟเวอร์การพัฒนาได้สำเร็จด้วยการกำหนดค่านี้เพื่อดีบักก่อนที่จะปรับใช้

ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก.


person Brian McGann    schedule 30.06.2016    source แหล่งที่มา
comment
ในระหว่างนี้คุณทราบวิธีการทำหรือไม่? ฉันนิ่งงัน.   -  person Mark    schedule 19.02.2017
comment
ไม่. และมันเป็นเวลานานแล้วและไม่มีความคิดเห็นอื่นใดนอกจากของคุณ ไม่คาดคิด   -  person Brian McGann    schedule 19.02.2017
comment
JB ล้าหลังเล็กน้อยในเรื่องโมดูลหลายโมดูลของ GAE บน PyCharm ฉันสามารถตั้งค่าการเรียกใช้การกำหนดค่าให้ทำงานกับโมดูลได้ โปรดดูที่ stackoverflow.com/a/29839511/4495081 . ตรวจสอบตัวเลือกของ devserver ของคุณ บางทีคุณอาจทำเช่นเดียวกันกับฝั่ง java ได้ ไม่สามารถแก้ไขการทำให้ใช้งานได้ เนื่องจากไม่สามารถกำหนดค่าตัวเลือกได้ จึงยังคงปรับใช้ด้วยตนเอง   -  person Dan Cornilescu    schedule 20.02.2017
comment
เพียงเพื่อให้แน่ใจว่า: คุณต้องการแก้ไขโค้ดของหนึ่งในโมดูลของคุณใช่ไหม   -  person Michael Meyer    schedule 20.02.2017
comment
ฉันทำอย่างแน่นอน   -  person Brian McGann    schedule 20.02.2017
comment
คุณใช้ Gradle Build หรือ Intellij App Engine Plugin สำหรับโปรเจ็กต์ของคุณหรือไม่?   -  person Michael Meyer    schedule 21.02.2017
comment
ฉันใช้ปลั๊กอิน Intellij App Engine แต่ฉันสามารถใช้ Gradle Build ได้ถ้ามันจะช่วยได้   -  person Brian McGann    schedule 21.02.2017
comment
ฉันต้องการปลั๊กอิน IntelliJ App Engine เพราะนั่นคือสิ่งที่ฉันใช้อยู่ในปัจจุบัน ฉันเดาว่าฉันควรลองใช้ Gradle สักครั้ง แต่นั่นมีการเปลี่ยนแปลงมากเกินไปในคราวเดียว   -  person Mark    schedule 21.02.2017
comment
ฉันมีโปรเจ็กต์หูหลายโมดูลที่ทำงานอยู่ด้วย Gradle ซึ่งฉันสามารถดีบั๊กบนเซิร์ฟเวอร์การพัฒนาในเครื่องของฉันได้ แต่เมื่อคุณชอบปลั๊กอิน ฉันก็ช่วยคุณไม่ได้   -  person Michael Meyer    schedule 21.02.2017
comment
คุณช่วยตั้งค่า Gradle ได้ไหม   -  person Brian McGann    schedule 22.02.2017
comment
โปรดดูคำตอบของฉันด้านล่าง เพียงบอกฉันเมื่อคุณต้องการข้อมูลเพิ่มเติม ฉันสามารถตั้งค่าสภาพแวดล้อมของฉันด้วยตัวอย่างเหล่านั้นได้   -  person Michael Meyer    schedule 23.02.2017


คำตอบ (1)


แอปพลิเคชันของฉันมีโครงสร้างเป็นโครงการ Gradle แบบหลายโมดูล ฉันมีไฟล์ Gradle Build ระดับบนสุดและสามโครงการย่อย หนึ่งโปรเจ็กต์ประกอบด้วยโปรเจ็กต์ EAR และสองโปรเจ็กต์คือโปรเจ็กต์ Goolge App Engine War

ฉันขอแนะนำให้คุณเริ่มต้นด้วยการพยายามตั้งค่าโครงการดังกล่าว คุณจะพบตัวอย่างที่ดีพร้อมโครงสร้างโครงการที่เกี่ยวข้องที่ Googles Github

https://github.com/GoogleCloudPlatform/appengine-modules-sample-java

คุณจะปรับใช้ ear กับเซิร์ฟเวอร์ dev โลแคลของคุณโดยการรันงานการไล่ระดับหู appengineRun

คุณต้องเพิ่มรายการต่อไปนี้ลงในไฟล์ ear gradle build ของคุณ (เก็บรายการอื่นไว้)

appengine {

    jvmFlags = ['-Xdebug', '-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000']

}

ขั้นตอนต่อไปคือการกำหนดค่าการกำหนดค่า Remote Debug ที่คล้ายกับสิ่งนี้

https://stackoverflow.com/a/18692212/2062634

หลังจากที่คุณเริ่มแอปพลิเคชันแล้ว คุณต้องเริ่มการกำหนดค่าการแก้ไขข้อบกพร่องระยะไกลซึ่งจะแนบตัวดีบักเกอร์ไปด้วย

person Michael Meyer    schedule 23.02.2017
comment
ขอบคุณมาก. ในที่สุดสิ่งนี้ก็เป็นไปได้สำหรับฉัน - person Brian McGann; 23.02.2017