CreateProcess error = 206 ชื่อไฟล์หรือนามสกุลยาวเกินไปเมื่อเรียกใช้เมธอด main ()


105

ฉันมีข้อผิดพลาดนี้ใน eclipse helios:

เกิดข้อยกเว้นในการรันบรรทัดคำสั่ง ไม่สามารถรันโปรแกรม "C: \ Program Files (x86) \ Java \ jre6 \ bin \ javaw.exe" (ในไดเร็กทอรี "C: \ Users \ motiver \ helios_workspace \ TimeTracker"): CreateProcess error = 206 ชื่อไฟล์หรือนามสกุลคือ นานเกินไป

ฉันค้นคว้าข้อมูลเล็กน้อย แต่ปัญหาส่วนใหญ่เกี่ยวข้องกับ DataNucleus เมื่อทำงานกับ Google App Engine แต่ฉันไม่ได้ใช้อะไรที่เกี่ยวข้องกับ Google App Engine จากระยะไกล ฉันกำลังทำโปรเจ็กต์เล็ก ๆ ด้วย Servlet 3.0 บน JBOSS 6 ฉันใช้ Hibernate 4.1.2 สำหรับ ORM และ RESTEasy เพื่อเปิดเผยบริการเว็บ ฉันสร้างไฟล์ util ที่มีเมธอด main () ซึ่งโดยพื้นฐานแล้วดร็อปและสร้างสคีมาใหม่ ฉันเรียกใช้เมธอด main () เมื่อฉันต้องการฐานข้อมูลที่สะอาดเพื่อจุดประสงค์ในการทดสอบ มันทำงานได้ดีบน Tomcat 7 แต่มันหยุดทำงานเมื่อฉันย้ายไปที่ JBoss 6

คำแนะนำหรือวิธีแก้ไขใด ๆ จะได้รับการชื่นชมอย่างมาก



อาจมีประโยชน์: bugs.eclipse.org/bugs/show_bug.cgi?id=327193
Jeremy

ฉันต้องการที่จะเข้าใจว่าเป็นเวลานานหรือคนอื่นC:\Program Files (x86)\Java\jre6\bin\javaw.exeC:\Users\motiver\helios_workspace\TimeTrackerฉันก็มีปัญหาเหมือนกัน
Siva R

Posterity: ฉันมีสถานการณ์ที่คล้ายกัน แต่ด้วยแอปพลิเคชันระดับองค์กรที่ใช้งานง่ายบน WLS และไคลเอนต์จากบน Eclipse สิ่งที่ฉันสังเกตเห็นคือ classpath มีขนาดใหญ่พอ ๆ กับ Eclipse โดยค่าเริ่มต้นจะรวมไลบรารี WLS ทั้งหมด (ขวดทั้งหมด) ฉันลบออกและเพิ่มเพียงแค่ weblogic.jar (จำเป็นเท่านั้น) หลังจากนั้นก็ใช้งานได้ดี จากการสังเกตของฉันเพียงแค่เอาขวดโหลที่ไม่จำเป็นออก
lupchiazoem

คำตอบ:


51

ไม่มีวิธีง่ายๆ (เช่นการคลิกสองสามครั้งหรือคำสั่งง่ายๆ) สำหรับปัญหานี้

การอ้างอิงจากคำตอบบางส่วนในรายงานข้อบกพร่องนี้ใน Eclipse.orgนี่คือวิธีแก้ปัญหา เลือกคนที่เจ็บปวดกับคุณน้อยที่สุด:

  • ลด classpath
  • ใช้ไดเร็กทอรีแทนไฟล์ jar
  • ใช้ไฟล์ jar ที่บรรจุซึ่งมี jar อื่น ๆ ทั้งหมดใช้ตัวแปร classpath ภายในไฟล์ manifest เพื่อชี้ไปที่ไหอื่น ๆ
  • ใช้ตัวโหลดคลาสพิเศษซึ่งอ่าน classpath จากไฟล์ config
  • ลองใช้แพตช์ที่แนบมาในเอกสารรายงานข้อบกพร่อง
  • ใช้กระดาษห่อตัวเช่นมด

อัปเดต : หลังจากเดือนกรกฎาคม 2014 มีวิธีที่ดีกว่านี้ (ขอบคุณคำตอบของ @ Brad-Mace ด้านล่าง :

หากคุณสร้างไฟล์บิลด์ของคุณเองแทนที่จะใช้Project -> Generate Javadocsคุณสามารถเพิ่มลงuseexternalfile="yes"ในงาน Javadoc ซึ่งออกแบบมาเพื่อแก้ปัญหานี้โดยเฉพาะ


17
IntelliJ จะไม่มีปัญหานี้ได้อย่างไรหากเป็นเพราะความยาวของ classpath ที่ใช้เมื่อเปิดตัว JVM
nitind

1
นี่อาจเป็นปัญหาคราสเท่านั้นฉันสามารถเรียกใช้แอพโดยใช้ maven
surajz

3
@nitind "ใน IntelliJ IDEA พวกเขาแทนที่คลาสหลักด้วยคลาสที่สร้างขึ้นมันมีคลาสพา ธ แบบฮาร์ดโค้ดและโค้ดเพื่อเปิดคลาสหลักดั้งเดิม" นำมาจากbugs.eclipse.org/bugs/show_bug.cgi?id=327193#c8
Chobicus

2
ในปี 2014 คำตอบนี้ไม่ถูกต้องและคำตอบของ @Brad Mace ถูกต้อง
Bananeweizen

5
"ลดคลาสพา ธ " เป็นคำใบ้ที่ดี แต่ขออธิบายรายละเอียดเล็กน้อย: ในกรณีของฉันฉันพยายามสร้างโครงการ maven และ-classpathอาร์กิวเมนต์ถูกสร้างขึ้นเพื่อให้มีการอ้างอิงทั้งหมด C:\Users\myself\.m2\repository\…;C:\Users\myself\.m2\repository\…[…tons more]ดังนั้นบางอย่างเช่นนี้ออกมา: การย้ายแคช repo maven ในเครื่องของฉันเพื่อD:\m2ทำเคล็ดลับ: Classpath ย่อลงเป็นD:\m2\…;D:\m2\…- บิงโก! อย่าลืมกำหนดlocalRepositoryเส้นทางในการกำหนดค่าmaven ของคุณ
ThomasR

18

หากคุณสร้างไฟล์บิลด์ของคุณเองแทนที่จะใช้Project -> Generate Javadocsคุณสามารถเพิ่มลงuseexternalfile="yes"ในjavadocงานซึ่งออกแบบมาเพื่อแก้ปัญหานี้โดยเฉพาะ


1
สวัสดี - ฉันจะเพิ่มสิ่งนี้ได้อย่างไร?
Prateek Narendra

@PrateekNarendra คุณจะเพิ่มลงใน ant buildfile ของคุณ (build.xml): ant.apache.org/manual/Tasks/javadoc.html
Brad Mace

16

ฉันประสบปัญหานี้ในวันนี้และฉันสามารถแก้ไขได้โดยใช้ปลั๊กอิน Gradle นี้

มันคือgithub url คือนี่

หากคุณเช่นฉันไม่รู้ว่า Gradle คืออะไร แต่จำเป็นต้องเรียกใช้แบ็กเอนด์เพื่อทำงานส่วนหน้าสิ่งที่คุณต้องทำคือค้นหาไฟล์build.gradleที่ถูกเรียกให้เริ่มเซิร์ฟเวอร์ BE ของคุณและเพิ่มสิ่งนี้ลงใน ด้านบน:

plugins {
  id "ua.eshepelyuk.ManifestClasspath" version "1.0.0"
}

4
ตอนนี้ฉันได้รับ "ชื่อคลาสหลักไม่ได้รับการกำหนดค่าและไม่สามารถแก้ไขได้" แม้ว่าจะตั้งค่าไว้แล้วattributes["Main-Class"]
ก็ตาม

2
ฉันลองใช้ปลั๊กอิน แต่ไม่มีผล ปัญหายังคงมา โปรดชี้แนะ
amarnathpatel

8

ตอบคำถามของฉันเองที่นี่เพื่อไม่ให้การแก้ปัญหาถูกฝังอยู่ในความคิดเห็น ฉันส่งออกโปรเจ็กต์เป็น jar ที่รันได้จากภายใน eclipse และทำบรรทัดคำสั่ง "java -jar MyJar.jar" และทำงานได้ดีอย่างสมบูรณ์



6

สิ่งนี้ไม่ได้มีไว้สำหรับคราสโดยเฉพาะ แต่วิธีที่ฉันทำได้คือการสร้างลิงก์สัญลักษณ์ไปยังที่เก็บ maven ของฉันและชี้ไปที่บางอย่างเช่น "C: \ R" จากนั้นฉันเพิ่มสิ่งต่อไปนี้ในไฟล์ settings.xml ของฉัน:

<localRepository>C:\R</localRepository>

เส้นทางที่เก็บ maven มีส่วนทำให้เกิดปัญหาเรื่องความยาวในเครื่อง windows ของฉัน


5

คำถามเก่า แต่ยังใช้ได้ ฉันเจอสถานการณ์นี้บ่อยครั้งเมื่อมีสมาชิกใหม่เข้าร่วมทีมของฉันหรือมีการเพิ่มส่วนรหัสใหม่ลงในโค้ดที่มีอยู่ วิธีแก้ปัญหาง่ายๆที่เราทำตามคือ "ลดคลาสพา ธ " โดยการเลื่อนไดเรกทอรีขึ้น

ดังที่ได้กล่าวไปแล้วสิ่งนี้ไม่ได้เจาะจงเฉพาะคราส ฉันเจอปัญหานี้ใน IntelliJ Idea 14 และ 2018 เช่นกัน

หลังจากค้นคว้ามานานฉันพบว่าวิธีแก้ปัญหาคือการตั้งค่าไฟล์

ส้อม = เท็จ

ใน javc ของไฟล์สร้างมด

<javac destdir="${build.dir}" fork="false" debug="on">
    <classpath .../>
    <src ... />
    <patternset ... />
</javac>

นี่คือลักษณะของ javac ที่สร้างมดของฉันตอนนี้ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับส้อมโปรดดูเอกสารเกี่ยวกับมด


1
นี่คือคำตอบที่มีประสิทธิภาพของ f ** king ที่ฉันกำลังค้นหา ขอบคุณ
huuthang

5

** ใส่คำอธิบายภาพที่นี่ **

ใน intellij มีตัวเลือกในการ 'ย่อบรรทัดคำสั่ง' เลือก 'JAR manifest' หรือ '@argFiles' จะช่วยแก้ปัญหาได้โดยพื้นฐานแล้วมันจะใส่พา ธ คลาสที่ยาวของคุณลงในไฟล์ jar หรือไฟล์ temp


3

ในรายงานข้อผิดพลาดBug 327193ถือว่าได้รับการแก้ไขแล้ว แต่เพิ่งเกิดขึ้นกับฉันเมื่อเร็ว ๆ นี้กับ Eclipse Kepler 4.3.2

โปรดดาวน์โหลดโปรแกรมแก้ไขสำหรับ Eclipse Juno หรือใหม่กว่า:

https://bugs.eclipse.org/bugs/attachment.cgi?id=216593

  1. หลังจากดาวน์โหลดสำรอง eclipse / plugins / org.eclipse.jdt.launching_3. *. jar ที่มีอยู่
  2. คัดลอกและวางคลาสในแพตช์ไปที่ org.eclipse.jdt.launching JAR (แทนที่ไฟล์ที่มีอยู่)
  3. รีสตาร์ท Eclipse

สิ่งนี้ได้ผลสำหรับฉัน โปรดทราบว่าการใช้สิ่งนี้จะลบการติดตั้ง JDK Java ของฉันออกจาก JREs ที่ติดตั้ง ฉันต้องเพิ่มใหม่อีกครั้ง ยังคงติดตั้ง JRE เพียง 1 ครั้ง
Joetjah

สิ่งที่น่าตลกคือคุณมองหาคำตอบเกี่ยวกับ SO ในประเด็นของคุณและหนึ่งในคำตอบนั้นมาจากคนที่คุณเคยเรียน / ทำงานด้วย :)
Michał Szkudlarek


1

วิธีแก้ปัญหา:

หากคุณกำลังใช้ Eclipse:

ย้ายที่เก็บ. m2 ไปที่

c: \ ไปที่ Eclipse> Windows / Preferences / Maven / User Settings -> สร้าง setting.xml ของคุณเองด้วยเนื้อหา:

<settings>
  <localRepository>c:/.m2/repository</localRepository>
</settings>

หากคุณใช้ IntelliJ: ไปที่ IntelliJ> คลิกปุ่มเมาส์ขวาบน "pom.xml"> maven> สร้าง "settings.xml"

ด้วยเนื้อหา:

<settings>
      xmlns="yourcontent"
      xmlns:xsi="yourcontent"
      xsi:schemaLocation="yourcontent.xsd">
  <localRepository>c:/.m2/repository</localRepository>
</settings>

1

ฉันมีข้อผิดพลาดเดียวกันขณะเรียกใช้ Maven

ต้นตอของปัญหาของฉันclasspathคือมันใหญ่มาก การอัปเดต classpath ช่วยแก้ปัญหาได้

มีหลายวิธีในการอัปเดต classpath ขนาดใหญ่ดังที่กล่าวไว้ในนี้: จะตั้งค่าคลาสพา ธ Java แบบยาวใน Windows ได้อย่างไร?

  1. ใช้สัญลักษณ์แทน
  2. ไฟล์อาร์กิวเมนต์
  3. โถ Pathing

เนื่องจากฉันใช้ Intellij พวกเขาจึงมีตัวเลือกให้ใช้ Argument File ที่ฉันใช้


5
Updating the classpath- อย่างไร?
Woland

1
คำตอบที่คลุมเครือมาก คุณอัปเดต classpath ได้อย่างไร?
Testilla

มีหลายวิธีในการอัปเดต classpath เช่น wildcard
Sandeep Jindal

1

ลองเพิ่มสิ่งนี้ในไฟล์ build.gradle ( gradle version 4.10.x) และตรวจสอบว่าcom.xxx.MainClassนี่คือคลาสที่เมธอดหลักของคุณอยู่:

plugins {
  id "ua.eshepelyuk.ManifestClasspath" version "1.0.0"
}
apply plugin: 'application'
application {
    mainClassName = "com.xxx.MainClass"
}

การเปลี่ยนแปลงดังกล่าวข้างต้นจะต้องแก้ปัญหานี้มีวิธีการใช้สคริปต์อีกrun.shด้านล่างอาจจะแก้ไขปัญหานี้ แต่มันก็จะมีมากขึ้นของการแก้ไขบรรทัดคำสั่งที่ไม่ได้อยู่ใน IntelliJ gradle bootRunที่จะเปิดตัว



0

มันเกิดขึ้นเนื่องจากบางครั้ง DataNucleus เขียนทับอาร์กิวเมนต์ด้วยหลายเส้นทาง

คุณต้องเขียนทับด้วยสิ่งนี้:

-enhancerName ASM -api JDO -pu MediaToGo

หวังว่าจะช่วยคุณ!


0

ฉันได้รับข้อผิดพลาดเดียวกัน พยายามแก้ปัญหาเช่นทำความสะอาดสร้างใหม่ invalidateCache รีสตาร์ท ฯลฯ แต่ไม่ได้ผล

ฉันเพิ่งสร้างโฟลเดอร์ใหม่ด้วยชื่อย่อและคัดลอกไฟล์ทั้งหมด (โฟลเดอร์แอพไฟล์ gradle ฯลฯ ) ในโฟลเดอร์ใหม่ เปิดแอปพลิเคชั่นในสตูดิโอ Android และใช้งานได้ดี


0

ในกรณีของฉันข้อผิดพลาดแสดงขึ้นเนื่องจากเวอร์ชัน java ระบบแตกต่างจากเวอร์ชัน java intellijj / eclipse ระบบและผู้ใช้มีเวอร์ชัน java ที่แตกต่างกัน หากคุณคอมไพล์โค้ดของคุณโดยใช้เวอร์ชันเดียวและพยายามรันโดยใช้เวอร์ชันอื่นโค้ดจะผิดพลาด เวอร์ชัน java ของผู้ใช้คือ 1.8

#The system java version is 1.7.131
$ java -version
java version "1.7.0_131"

เรื่องสั้นขนาดยาวตรวจสอบให้แน่ใจว่าโค้ดของคุณถูกคอมไพล์และรันโดยเวอร์ชันจาวาเดียวกัน


0

เพื่อแก้ไขข้อผิดพลาดด้านล่างนี้ฉันได้ทำการวิจัยมามากพอแล้วไม่มีวิธีแก้ปัญหาที่ดีใด ๆ ฉันเตรียมสคริปต์นี้และใช้งานได้ดีคิดว่าจะแบ่งปันสู่สาธารณะและใช้ประโยชน์จากมันและประหยัดเวลา

CreateProcess error = 206 ชื่อไฟล์หรือนามสกุลยาวเกินไป

หากคุณกำลังใช้เครื่องมือสร้าง Gradle และไฟล์ปฏิบัติการจะอยู่ในไดเร็กทอรี build / libs ของแอปพลิเคชันของคุณ run.sh-> สร้างไฟล์นี้ในไดเรกทอรีรากของโครงการของคุณและคัดลอกสคริปต์ด้านล่างจากนั้นไปที่ git bash แล้วพิมพ์ run.sh จากนั้นป้อน หวังว่านี่จะช่วยได้!

#!/bin/bash dir_name=`pwd` if [ $# == 1 ] && [ $1 == "debug" ] then port=$RANDOM quit=0 echo "Finding free port for debugging" while [ "$quit" -ne 1 ]; do netstat -anp | grep $port >> /dev/null if [ $? -gt 0 ]; then quit=1 else port=`expr $port + 1` fi done echo "Starting in Debug Mode on "$port gradle clean bootjar jar_name="build/libs/"`ls -l ./build/libs/|grep jar|grep -v grep|awk '{print $NF}'` #java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=$port $jar_name elif [ $# == 1 ] && [ $1 == 'help' ] then echo "please use this commands" echo "------------------------" echo "Start in Debug Mode: sh run.sh debug" echo "Start in Run Mode: sh run.sh" echo "------------------------" else gradle clean bootjar word_count=`ls -l ./build/libs/|grep jar|grep -v grep|wc -w` jar_name=`ls -l ./build/libs/|grep jar|grep -v grep|awk '{print $NF}'`
jar_path=build/libs/$jar_name echo $jar_name #java -jar $jar_path fi

หวังว่านี่จะช่วยได้ !!


0

ฉันใช้ปลั๊กอิน gradle เวอร์ชันเดิมและสิ่งนี้แก้ไขปัญหาให้ฉันได้

การใช้งาน (ตรวจสอบแหล่งที่มาสำหรับรายละเอียดเพิ่มเติม):

สร้างส่วนย่อยของสคริปต์สำหรับปลั๊กอิน DSL สำหรับ Gradle 2.1 และใหม่กว่า

plugins {
  id "com.github.ManifestClasspath" version "0.1.0-RELEASE"
}

สร้างข้อมูลโค้ดสคริปต์สำหรับใช้ใน Gradle เวอร์ชันเก่าหรือในกรณีที่ต้องกำหนดค่าไดนามิก

buildscript {
  repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "gradle.plugin.com.github.viswaramamoorthy:gradle-util-plugins:0.1.0-RELEASE"
  }
}

apply plugin: "com.github.ManifestClasspath"

0

ในเครื่อง Windows มีข้อ จำกัด ของชื่อไฟล์ jar / ความยาวพา ธ ในบรรทัดคำสั่งเนื่องจากคุณเห็นข้อความแสดงข้อผิดพลาดด้านล่างฉันพยายามค้นหาบ่อยครั้งแม้ว่าฉันจะลองใช้วิธีแก้ปัญหาข้างต้นด้วยเหตุผลบางประการ ไม่ได้ผลฉันพบตัวอย่างการทำงานสำหรับ Gradle (gradle-4.10.2-all.zip)

ข้อผิดพลาด:

CreateProcess error=206, The filename or extension is too long

ใช้gradle.buildข้อมูลโค้ดด้านล่างนี้เพื่อแก้ไขปัญหาข้างต้นใน IntelliJ หรือ STS หรือคราสอะไรก็ได้

การแก้ไขรหัส Gradle:

apply plugin: 'application'

task pathingJar(type: Jar) {
    dependsOn configurations.runtime
    appendix = 'pathing'

    doFirst {
        manifest {
            attributes "Class-Path": configurations.runtimeClasspath.files.collect { it.getName() }.join(' ')
        }
    }
}

task copyToLib(type: Copy) {
    into "$buildDir/libs"
    from configurations.runtime
}

bootRun {
    systemProperties = System.properties
    //This below line is for if you have different profiles prod, dev etc...
    //systemProperty 'spring.profiles.active', 'dev'
    jvmArgs('-Djava.util.logging.config.file=none')
    mainClassName = "com.xxxx.Main"
    dependsOn pathingJar
    dependsOn copyToLib
    doFirst {
        classpath = files("$buildDir/classes/java/main", "$buildDir/resources/main", pathingJar.archivePath)
    }
}

0

มีกี่คนที่เศร้าข้างต้นมีปลั๊กอินจำนวนมากที่จะไล่ระดับการดำเนินการโดยผ่านในปัญหานี้เช่น:

plugins {
  id "ua.eshepelyuk.ManifestClasspath" version "1.0.0"
}

หรือ

plugins {
  id "com.github.ManifestClasspath" version "0.1.0-RELEASE"
}

แต่ทางออกที่ดีกว่าที่ฉันพบคือฆ่ากระบวนการ JVM และทุกอย่างเสร็จสิ้น


0

ฉันพบปัญหานี้ในการพยายามเรียกใช้แบบสอบถามJPQLในคอนโซล Hibernate / JPAของIntelliJ 2020.2

การเพิ่มสิ่งนี้ไปยัง . idea / workspace.xmlของฉันแก้ไขได้

<component name="PropertiesComponent">
 
...
     <property name="dynamic.classpath" value="true"/>
 
...
 
</component>

ที่มาของโซลูชัน: https://youtrack.jetbrains.com/issue/IDEA-166929?_ga=2.167622078.1290412178.1604511702-23036228.1574844686


-1

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

https://stackoverflow.com/a/1219427/1469481


-1

ฉันได้รับข้อผิดพลาดด้านล่างเมื่อฉันเรียกใช้ ' มดปรับใช้ '

Cannot run program "C:\java\jdk1.8.0_45\bin\java.exe": CreateProcess error=206, The filename or extension is too long

แก้ไขโดยเรียกใช้ ' ant clean ' ก่อน


2
จะเกิดอะไรขึ้นถ้าฉันใช้ Android Studio ฉันยังได้รับปัญหาเดียวกันนี้
portfoliobuilder

ฉันใช้ intelliJ
kn3l

-1

ฉันได้รับข้อผิดพลาดเดียวกันใน android studio ฉันสามารถแก้ไขได้โดยเรียกใช้Build -> Clean Projectใน IDE


-1

นี้เป็นเพราะชื่อไดเรกทอรีโครงการยาวของคุณซึ่งช่วยให้คุณมีความยาวมากCLASSPATHโดยสิ้นเชิง ไม่ว่าคุณจะต้องลดไหเพิ่มที่CLASSPATH(ตรวจสอบให้แน่ใจว่าลบไหที่ไม่จำเป็นออกเท่านั้น) หรือวิธีที่ดีที่สุดคือลดไดเร็กทอรีโปรเจ็กต์และนำเข้าโปรเจ็กต์อีกครั้ง ซึ่งจะช่วยลดไฟล์CLASSPATH. มันได้ผลสำหรับฉัน


-1

ฉันมีปัญหาเดียวกัน แต่ฉันใช้ netbeans แทน
ฉันพบวิธีแก้ปัญหาดังนั้นฉันจึงแบ่งปันที่นี่เพราะฉันไม่พบสิ่งนี้ทุกที่ดังนั้นหากคุณมีปัญหานี้ใน netbeans ให้ลองทำสิ่งนี้:
(ชื่ออาจถูกปิดเนื่องจาก netbeans ของฉันเป็นภาษาโปรตุเกส) คลิกขวาที่โครงการ> คุณสมบัติ > build> คอมไพล์> ยกเลิกการเลือกรันการคอมไพล์บน VM ภายนอก

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