“ප්‍රධාන පන්තිය සොයා ගැනීමට හෝ පැටවීමට නොහැකි” යන්නෙන් අදහස් කරන්නේ කුමක්ද?


1393

නව ජාවා සංවර්ධකයින් අත්විඳින පොදු ගැටළුවක් නම් ඔවුන්ගේ වැඩසටහන් දෝෂ පණිවිඩය සමඟ ක්‍රියාත්මක වීමට අසමත් වීමයි: Could not find or load main class ...

මෙයින් අදහස් කරන්නේ කුමක්ද, එයට හේතුව කුමක්ද සහ ඔබ එය නිවැරදි කළ යුත්තේ කෙසේද?


40
මෙය නව ජාවා භාවිතා කරන්නන් සඳහා පොදු යොමු ප්‍රශ්නෝත්තරයක් වීමට අදහස් කරන "ස්වයං-පිළිතුරු" ප්‍රශ්නයක් බව කරුණාවෙන් සලකන්න. මෙය ප්‍රමාණවත් ලෙස (IMO) ආවරණය කරන දැනට පවතින ප්‍රශ්නෝත්තරයක් මට සොයාගත නොහැකි විය.
ස්ටීවන් සී

Answers:


1254

මෙම java <class-name>විධානය කාරක රීති

පළමුවෙන්ම, java(හෝ javaw) විධානය භාවිතා කරමින් වැඩසටහනක් දියත් කිරීමට නිවැරදි ක්‍රමය ඔබ තේරුම් ගත යුතුය .

සාමාන්‍ය සින්ටැක්ස් 1 මෙයයි:

    java [ <options> ] <class-name> [<arg> ...]

එහිදී <option>විධාන රේඛාව විකල්පය (සමඟ ආරම්භ "-" චරිතය) ඇත, <class-name>පූර්ණ සුදුසුකම් ලත් ජාවා පන්තිය නම වන අතර, <arg>ඔබේ අයදුම් කිරීමට සමත් රැඳි හිතුවක්කාරී විධාන රේඛාව තර්කයකි.


1 - මෙම පිළිතුර අවසානයේ විස්තර කර ඇති තවත් වාක්‍ය ඛණ්ඩ කිහිපයක් තිබේ.

පංතිය සඳහා සම්පුර්ණ සුදුසුකම් ලත් නම (FQN) සාම්ප්‍රදායිකව ඔබ ජාවා ප්‍රභව කේතයෙන් ලියා ඇත; උදා

    packagename.packagename2.packagename3.ClassName

කෙසේ වෙතත්, javaවිධානයෙහි සමහර අනුවාදයන් ඔබට කාල පරිච්ඡේද වෙනුවට කප්පාදු භාවිතා කිරීමට ඉඩ දෙයි; උදා

    packagename/packagename2/packagename3/ClassName

එය (ව්‍යාකූල ලෙස) ගොනු මාර්ග නාමයක් මෙන් පෙනේ, නමුත් එකක් නොවේ. සම්පුර්ණ සුදුසුකම් ලත් නම සම්මත ජාවා පාරිභාෂිතය බව සලකන්න ... ඔබව ව්‍යාකූල කිරීමට මා විසින් සාදන ලද දෙයක් නොවේ :-)

javaවිධානයක් කෙබඳු විය යුතුද යන්න පිළිබඳ උදාහරණයක් මෙන්න :

    java -Xmx100m com.acme.example.ListUsers fred joe bert

ඉහත දැක්වෙන්නේ javaවිධානය පහත සඳහන් දේ කිරීමට හේතු වනු ඇත :

  1. com.acme.example.ListUsersපන්තියේ සම්පාදිත අනුවාදය සොයන්න .
  2. පන්තිය පූරණය කරන්න.
  3. පංතියට අත්සන , ආපසු පැමිණීමේ වර්ගය සහ ලබා දී ඇති වෙනස් කිරීම් සහිතmain ක්‍රමයක් තිබේදැයි පරීක්ෂා කරන්න . (සටහන, ක්‍රම තර්කයේ නම අත්සනෙහි කොටසක් නොවේ .)public static void main(String[])
  4. විධාන රේඛා තර්ක ("ෆ්‍රෙඩ්", "ජෝ", "බර්ට්") පසුකර යන ක්‍රමය අමතන්න a String[].

ජාවාට පන්තිය සොයා ගැනීමට නොහැකි වීමට හේතු

ඔබට "ප්‍රධාන පන්තිය සොයා ගැනීමට හෝ පූරණය කිරීමට නොහැකි විය ..." යන පණිවිඩය ලැබුණු විට, එයින් අදහස් වන්නේ පළමු පියවර අසාර්ථක වී ඇති බවයි. මෙම javaවිධානය පන්ති සොයා ගැනීමට නොහැකි විය. ඇත්ත වශයෙන්ම, පණිවිඩයේ ඇති "..." සම්පූර්ණ සුදුසුකම් ලත් පන්තියේ නම වනු ඇත බව javaහොයනවා.

එසේ නම් එය පන්තිය සොයා ගැනීමට නොහැකි වන්නේ ඇයි?

හේතුව # 1 - පන්ති නාම තර්කය සමඟ ඔබ වැරැද්දක් කර ඇත

පළමු හේතුව විය හැක්කේ ඔබ වැරදි පන්තියේ නම ලබා දී තිබීමයි. (හෝ ... නිවැරදි පංතියේ නම, නමුත් වැරදි ස්වරූපයෙන්.) ඉහත උදාහරණය සලකා බැලීමේදී , පන්තියේ නම සඳහන් කිරීමට විවිධ වැරදි ක්‍රම මෙන්න :

  • උදාහරණ # 1 - සරල පන්ති නාමයක්:

    java ListUser

    වැනි පැකේජයක් තුළ පන්තිය ප්‍රකාශයට පත් කළ විට com.acme.example, ඔබ විධානයෙහි ඇති පැකේජයේ නම ඇතුළුව සම්පූර්ණ පන්ති නාමය භාවිතා කළ යුතුය java; උදා

    java com.acme.example.ListUser
  • උදාහරණ # 2 - පන්ති නාමයකට වඩා ගොනු නාමයක් හෝ මාර්ග නාමයක්:

    java ListUser.class
    java com/acme/example/ListUser.class
  • උදාහරණ # 3 - ආවරණයක් වැරදියි පන්තියේ නම:

    java com.acme.example.listuser
  • උදාහරණ # 4 - යතුරු ලියනයකි

    java com.acme.example.mistuser
  • උදාහරණ # 5 - ප්‍රභව ගොනු නාමයක් (ජාවා 11 හෝ ඊට පසුව හැර; පහත බලන්න)

    java ListUser.java
  • උදාහරණ # 6 - ඔබට පන්තියේ නම මුළුමනින්ම අමතක විය

    java lots of arguments

හේතුව # 2 - යෙදුමේ පන්ති මාර්ගය වැරදි ලෙස දක්වා ඇත

දෙවන හේතුව පංතියේ නම නිවැරදි නමුත් javaවිධානයට පන්තිය සොයාගත නොහැකි වීමයි. මෙය තේරුම් ගැනීම සඳහා, ඔබ "පන්තියේ මාවත" පිළිබඳ සංකල්පය තේරුම් ගත යුතුය. ඔරකල් ප්‍රලේඛනය මගින් මෙය හොඳින් පැහැදිලි කරයි:

ඉතින් ... ඔබ පන්තියේ නම නිවැරදිව සඳහන් කර ඇත්නම්, ඊළඟට පරීක්ෂා කර බැලිය යුත්තේ ඔබ පන්ති මාර්ගය නිවැරදිව නියම කර ඇති බවයි:

  1. ඉහත සම්බන්ධ කර ඇති ලේඛන තුන කියවන්න. (ඔව් ... ඒවා කියවන්න! ජාවා ක්‍රමලේඛකයෙකු අවම වශයෙන් ජාවා පන්ති පථ යාන්ත්‍රණයන් ක්‍රියාත්මක වන ආකාරය පිළිබඳ මූලික කරුණු අවබෝධ කර ගැනීම වැදගත්ය .)
  2. ඔබ විධානය ක්‍රියාත්මක කරන විට ක්‍රියාත්මක වන විධාන රේඛාව සහ / හෝ CLASSPATH පරිසර විචල්‍යය දෙස බලන්න java. නාමාවලි නාම සහ JAR ගොනු නම් නිවැරදි දැයි පරීක්ෂා කරන්න.
  3. තිබේ නම් සාපේක්ෂ වූ classpath දී මංපෙත් නම්, ඔවුන් නිවැරදිව විසඳීමට බව පරීක්ෂා ... ඔබ ක්රියාත්මක කරන විට ක්රියාත්මක වන බව වත්මන් බහාළුම සිට javaවිධානය.
  4. (අබා සඳහන්) පන්ති මත පිහිටා කළ හැකි බව පරීක්ෂා කරන්න ඵලදායී classpath.
  5. වින්ඩෝස් හා ලිනක්ස් සහ මැක් ඕඑස් සඳහා පන්ති පථ සින්ටැක්ස් වෙනස් බව සලකන්න . (මෙම classpath separator එකක් ;Windows මත හා :අනිත් අය මත. ඔබ ඔබේ වේදිකාව සඳහා වැරදි වෙන්කර භාවිතා කරන්නේ නම්, ඔබ පැහැදිලි දෝෂ ලබා ගැනීමට නොහැකි වනු ඇත. ඒ වෙනුවට, ඔබ නිහඬව නොසලකා හැරෙන බව මාර්ගය මත ශුන්ය ගොනුවට හෝ ඩිරෙක්ටරියට ලැබෙනු ඇත .)

හේතුව # 2a - වැරදි නාමාවලිය පන්ති මාවතේ ඇත

ඔබ පන්තියේ මාර්ගයට නාමාවලියක් දැමූ විට, එය සුදුසුකම් ලත් නාම අවකාශයේ මූලයට අනුරූප වේ. සම්පුර්ණ සුදුසුකම් ලත් නම මාර්ග නාමයකට අනුරූපණය කිරීමෙන් පන්ති එම මූලයට යටින් ඇති නාමාවලි ව්‍යුහයේ පිහිටා ඇත . උදාහරණයක් ලෙස, "/ usr / local / acme / classes" පන්ති මාවතේ තිබේ නම්, ජේවීඑම් විසින් පංතියක් සොයන විට com.acme.example.Foon, එය මෙම මාර්ග නාමය සහිත ".class" ගොනුවක් සොයනු ඇත:

  /usr/local/acme/classes/com/acme/example/Foon.class

ඔබ පන්ති මාවතේ "/ usr / local / acme / classes / com / acme / example" දමා ඇත්නම්, එවිට JVM හට පන්තිය සොයාගත නොහැකි වනු ඇත.

හේතුව # 2b - උප බහලුම් මාර්ගය FQN සමඟ නොගැලපේ

ඔබේ පංති FQN නම් com.acme.example.Foon, JVM "com / acme / example" නාමාවලියෙහි "Foon.class" සොයනු ඇත:

  • ඉහත රටාවට අනුව ඔබේ නාමාවලි ව්‍යුහය පැකේජ නාමකරණයට නොගැලපේ නම්, ජේවීඑම් ඔබේ පන්තිය සොයා නොගනී.

  • පංතියක් ගෙනයාමෙන් ඔබ එය නැවත නම් කිරීමට උත්සාහ කළහොත් එයද අසාර්ථක වනු ඇත ... නමුත් ව්‍යතිරේක ස්ටැක්ට්‍රේස් වෙනස් වේ. මේ වගේ දෙයක් කීමට බැඳී සිටී:

    Caused by: java.lang.NoClassDefFoundError: <path> (wrong name: <name>)

    පංති ගොනුවේ ඇති FQN පන්ති භාරකරු සොයා ගැනීමට බලාපොරොත්තු වන දේට නොගැලපෙන බැවිනි.

ස්ථිර උදාහරණයක් දීමට, එය උපකල්පනය කරමින්:

  • ඔබට com.acme.example.Foonපන්තිය ධාවනය කිරීමට අවශ්‍යයි ,
  • සම්පූර්ණ ගොනු මාර්ගය වන්නේ /usr/local/acme/classes/com/acme/example/Foon.class,
  • ඔබගේ වර්තමාන වැඩ නාමාවලිය /usr/local/acme/classes/com/acme/example/,

එවිට:

# wrong, FQN is needed
java Foon

# wrong, there is no `com/acme/example` folder in the current working directory
java com.acme.example.Foon

# wrong, similar to above
java -classpath . com.acme.example.Foon

# fine; relative classpath set
java -classpath ../../.. com.acme.example.Foon

# fine; absolute classpath set
java -classpath /usr/local/acme/classes com.acme.example.Foon

සටහන්:

  • මෙම -classpathවිකල්පය කෙටි කළ හැකි -cpබොහෝ ජාවා නිකුතුවකට. සඳහා අදාළ අත්පොත ඇතුළත් කිරීම් පරීක්ෂා කරන්න java, javacසහ එසේ ය.
  • පන්ති මාර්ගවල නිරපේක්ෂ හා සාපේක්ෂ මාර්ග නාම අතර තෝරාගැනීමේදී හොඳින් සිතා බලන්න. වත්මන් නාමාවලිය වෙනස් වුවහොත් සාපේක්ෂ මාර්ග නාමයක් "කැඩී" යා හැකි බව මතක තබා ගන්න.

හේතුව # 2 සී - පන්ති මාර්ගයෙන් පරායත්තතා නොමැත

ඔබේ යෙදුම රඳා පවතින අනෙකුත් (පද්ධති නොවන) පන්ති සියල්ලම පන්ති පථයට ඇතුළත් කළ යුතුය. (පද්ධති පන්ති ස්වයංක්‍රීයව පිහිටා ඇති අතර ඔබ මේ ගැන සැලකිලිමත් විය යුත්තේ කලාතුරකිනි.) ප්‍රධාන පන්තිය නිවැරදිව පැටවීම සඳහා, ජේවීඑම් සොයා ගැනීම අවශ්‍ය වේ:

(සටහන: ජේඑල්එස් සහ ජේවීඑම් පිරිවිතරයන් ජේවීඑම් සඳහා "කම්මැලි" පන්ති පැටවීමට යම් ඉඩක් ලබා දේ. පංති පැටවුම් ව්‍යතිරේකයක් විසි කරන විට මෙය බලපායි.)

හේතුව # 3 - වැරදි පැකේජයක් තුළ පන්තිය ප්‍රකාශයට පත් කර ඇත

ඉඳහිට යමෙකු මූලාශ්‍ර කේත ගොනුවක් ඔවුන්ගේ ප්‍රභව කේත ගසෙහි වැරදි ෆෝල්ඩරයට දැමූ විට හෝ ඔවුන් packageප්‍රකාශය අතහැර දමයි . ඔබ මෙය IDE එකක කරන්නේ නම්, IDE හි සම්පාදකයා වහාම මේ ගැන ඔබට කියනු ඇත. ඒ හා සමානව ඔබ හොඳ ජාවා තැනීමේ මෙවලමක් භාවිතා කරන්නේ නම්, මෙවලම javacගැටළුව හඳුනාගත හැකි ආකාරයකින් ක්‍රියාත්මක වේ. කෙසේ වෙතත්, ඔබ ඔබේ ජාවා කේතය අතින් සාදන්නේ නම්, ඔබට එය සම්පාදකයාට ගැටලුව නොපෙනෙන අයුරින් කළ හැකි අතර, එහි ප්‍රති ing ලයක් ලෙස ඇති “.class” ගොනුව ඔබ බලාපොරොත්තු වන ස්ථානයේ නොමැත.

තවමත් ගැටලුව සොයාගත නොහැකිද?

පරීක්ෂා කිරීමට බොහෝ දේ ඇත, යමක් මග හැරීම පහසුය. විධාන රේඛාවට -Xdiagවිකල්පය එක් කිරීමට උත්සාහ කරන්න java(පසු පළමු දෙය ලෙස java). එය පන්ති පැටවීම පිළිබඳ විවිධ දේ ප්‍රතිදානය කරනු ඇති අතර සැබෑ ගැටළුව කුමක්ද යන්න පිළිබඳව මෙය ඔබට ඉඟි සපයයි.

තවද, වෙබ් අඩවි, ලේඛන සහ වෙනත් දේවලින් අදෘශ්‍යමාන හෝ ASCII නොවන අක්ෂර පිටපත් කර ඇලවීම නිසා ඇතිවිය හැකි ගැටළු සලකා බලන්න. "සමජාතීයතා" සලකා බලන්න, අකුරු දෙකක් හෝ සංකේත සමාන පෙනුමක් තිබුනද ... නමුත් එසේ නොවේ.

අවසාන වශයෙන්, ඔබ වැරදි අත්සන් සහිත JAR ගොනුවකින් දියත් කිරීමට උත්සාහ කළහොත් ඔබට මෙම ගැටලුවට මුහුණ දිය හැකිය (META-INF/*.SF).


සඳහා විකල්ප සින්ටැක්ස් java

ජාවා වැඩසටහන් දියත් කිරීම සඳහා විකල්ප සින්ටැක්ස් තුනක් ඇත java command.

1) “ක්‍රියාත්මක කළ හැකි” JAR ගොනුවක් දියත් කිරීම සඳහා භාවිතා කරන සින්ටැක්ස් පහත පරිදි වේ:

  java [ <options> ] -jar <jar-file-name> [<arg> ...]

උදා

  java -Xmx100m -jar /usr/local/acme-example/listuser.jar fred

com.acme.example.ListUserJAR ගොනුවේ MANIFEST හි ඇතුළත් කිරීමේ ලක්ෂ්‍ය පන්තියේ (එනම් ) සහ පන්ති පථයේ නම දක්වා ඇත.

2) මොඩියුලයකින් (ජාවා 9 සහ ඊට පසු) යෙදුමක් දියත් කිරීමේ වාක්‍ය ඛණ්ඩය පහත පරිදි වේ:

  java [ <options> ] --module <module>[/<mainclass>] [<arg> ...]

පිවිසුම් ලක්ෂ්‍ය පන්තියේ නම එක්කෝ <module>තමා විසින්ම නිර්වචනය කර ඇත, නැතහොත් විකල්පය මඟින් දෙනු ලැබේ <mainclass>.

3) ජාවා 11 සිට, ඔබට තනි ප්‍රභව කේත ගොනුවක් සම්පාදනය කර ධාවනය කළ හැකි අතර පහත සඳහන් වාක්‍ය ඛණ්ඩය සමඟ එය ක්‍රියාත්මක කළ හැකිය:

  java [ <options> ] <sourcefile> [<arg> ...]

".java" උපසර්ගය සහිත ගොනුවක් (සාමාන්‍යයෙන්).

වැඩි විස්තර සඳහා කරුණාකර javaඔබ භාවිතා කරන ජාවා මුදා හැරීම සඳහා වන විධානය සඳහා නිල ලියකියවිලි බලන්න .


IDEs

සාමාන්‍ය ජාවා IDE එකකට ජාවා යෙදුම් IDE JVM තුළම හෝ ළමා JVM තුළ ක්‍රියාත්මක කිරීමට සහාය වේ. මෙම සුවිශේෂී ව්‍යතිරේකයෙන් මේවා සාමාන්‍යයෙන් ප්‍රතිශක්තීකරනය වේ, මන්ද යත්, ධාවන කාල පංතිය තැනීමට, ප්‍රධාන පංතිය හදුනා ගැනීමට සහ javaවිධාන රේඛාව නිර්මාණය කිරීමට IDE තමන්ගේම යාන්ත්‍රණ භාවිතා කරන බැවිනි .

කෙසේ වෙතත් ඔබ IDE පිටුපස පිටුපස දේවල් කරන්නේ නම් මෙම ව්‍යතිරේකය තවමත් සිදුවිය හැකිය. උදාහරණයක් ලෙස, ඔබ මීට පෙර ඔබේ ජාවා යෙදුම සඳහා යෙදුම් දියත් කිරීමක් සූර්යග්‍රහණයෙන් සකසා ඇත්නම් සහ ඔබ “ප්‍රධාන” පන්තිය අඩංගු JAR ගොනුව සූර්යග්‍රහණයට නොකියමින් ගොනු පද්ධතියේ වෙනත් ස්ථානයකට ගෙන ගියේ නම් , සූර්යග්‍රහණය නොදැනුවත්වම JVM දියත් කරනු ඇත. වැරදි පන්තියක් සමඟ.

කෙටියෙන් කිවහොත්, ඔබට මෙම ගැටළුව IDE එකකින් ලැබුනේ නම්, පැරණි IDE තත්ත්වය, බිඳුණු ව්‍යාපෘති යොමු කිරීම් හෝ කැඩුණු දියත් වින්‍යාසයන් වැනි දෑ පරීක්ෂා කරන්න.

IDE එකකට හුදෙක් ව්‍යාකූලත්වයට පත්විය හැකිය. IDE යනු බොහෝ අන්තර්ක්‍රියාකාරී කොටස් වලින් සමන්විත ඉතා සංකීර්ණ මෘදුකාංගයකි. මෙම කොටස් බොහොමයක් IDE සමස්තයක් ලෙස ප්‍රතිචාර දැක්වීම සඳහා විවිධ හැඹිලි ක්‍රමෝපායන් අනුගමනය කරයි. මේවා සමහර විට වැරදියට සිදුවිය හැකි අතර, යෙදුම් දියත් කිරීමේදී ඇතිවිය හැකි එක් රෝග ලක්ෂණයකි. මෙය සිදුවිය හැකි යැයි ඔබ සැක කරන්නේ නම්, ඔබේ IDE නැවත ආරම්භ කිරීම, ව්‍යාපෘතිය නැවත ගොඩනැඟීම සහ වෙනත් දේ උත්සාහ කිරීම වටී.


වෙනත් යොමු කිරීම්


43
තෙවන පාර්ශවීය පුස්තකාලයක් සහිත පංතියක් පවත්වාගෙන යාමට උත්සාහ කරන විට මට මෙම ගැටළුව ඇති විය. මම මේ වගේ ජාවා ආයාචනා කළා : java -cp ../third-party-library.jar com.my.package.MyClass; මෙය ක්‍රියා නොකරයි, ඒ වෙනුවට දේශීය ෆෝල්ඩරය පන්ති මාවතට එක් කිරීම අවශ්‍ය වේ (මේ අනුව වෙන් කර ඇත :: java -cp ../third-party-library.jar:. com.my.package.MyClass, එවිට එය ක්‍රියාත්මක විය යුතුය
lanoxx

24
වසර ගණනාවක ජාවා වැඩසටහන්කරණයෙන් පසුවද මම තවමත් මෙම පිටුවේ අවසන් වීමට සමත් වුණෙමි. මට නම් ගැටලුව වූයේ පන්ති පථ සින්ටැක්ස් මෙහෙයුම් පද්ධතිය මත රඳා පැවතීමයි . මම වින්ඩෝස් හි වැඩසටහන්කරණයට අලුත් ය.
යතුරු

5
අමතර සටහන්, 2 වන කරුණ මාව බේරා ගන්න! එය javaආනයනික පංතියක් සොයා නොගනී යැයි පැවසීම කනගාටුවට කරුණකි , ඒ වෙනුවට ඔබ ධාවනය කිරීමට උත්සාහ කරන ප්‍රධාන පන්තිය. මෙය නොමඟ යවන සුළුය, නමුත් මට විශ්වාසයි ඒ සඳහා හේතුවක් තිබේ. javaමගේ පන්තිය කොහේදැයි හරියටම දැන සිටි නඩුව මට තිබුණි , කෙසේ වෙතත් එයට ආනයනික පන්ති වලින් එකක් සොයාගත නොහැකි විය. එය පවසනවා වෙනුවට, එය මගේ ප්‍රධාන පන්තිය සොයා නොගැනීම ගැන පැමිණිලි කළේය. ඇත්තටම කරදරයක්.
MSX

සූර්යග්‍රහණයේදී මට දෙවරක් මෙම ගැටලුව ඇතිවිය. පළමු වරට ප්‍රධාන () අත්සන වැරදිය. දෙවන වරට මම .jar ලෙස නම් කර ඇති අතර, මම නව එකක් ගොඩනැඟීමේ මාවතට එක් කළද, සූර්යග්‍රහණය පැරණි එක සොයා ගත්තේ නැත, එබැවින් මෙම දෝෂය සමඟ ව්‍යාපෘතිය සම්පාදනය නොවීය. මට .jar ගොනුව Project> Properties> Java Build Path> පුස්තකාල වලින් ඉවත් කිරීමට සිදු විය.
ග්‍රෙග්ට්

මම එය තුන්වෙනි වතාවට මුණගැසුණා. මම වින්ඩෝස් 10 කණ්ඩායම් ගොනුවකින් වැඩසටහන ක්‍රියාත්මක කර .jar නාමය විචල්‍යයකට දමා ඇත ("-cp% jarname%; lib *" ලෙස හැඳින්වේ). මම වැරදීමකින් අමතර නම අවකාශයේ කෙළවරේ තබා ඇති අතර එය දෝෂයට හේතු විය.
හැට්ට්‍රික්

241

ඔබේ ප්‍රභව කේත නාමය HelloWorld.java නම්, ඔබේ සම්පාදනය කළ කේතය වනු ඇත HelloWorld.class.

ඔබ එය භාවිතා කර එය අමතන්නේ නම් ඔබට එම දෝෂය ලැබෙනු ඇත:

java HelloWorld.class

ඒ වෙනුවට, මෙය භාවිතා කරන්න:

java HelloWorld

3
ගැටළුව වන්නේ මෙම විසඳුම ක්‍රියාත්මක වන්නේ JAR ගොනු පරායත්තයන් නොමැති පෙරනිමි පැකේජයේ ප්‍රකාශිත ජාවා පන්ති සඳහා පමණි. (එසේ වුවද, සෑම විටම නොවේ.) බොහෝ ජාවා වැඩසටහන් එතරම් සරල නැත.
ස්ටීවන් සී

2
ස්ටීවන් පැවසූ පරිදි, මෙය ක්‍රියාත්මක වන්නේ "පෙරනිමි පැකේජය" සමඟ පමණි - එයින් අදහස් වන්නේ ගොනුවේ ඉහළින් පැකේජ ප්‍රකාශයක් නොමැති බවයි. කිසියම් කේතයක් ඉක්මණින් පරීක්ෂා කිරීම සඳහා, මම කළේ: javac TestCode.javaපසුවjava TestCode
කවුරුහරි කොහේ හරි

මෙය මට වැඩ කළේ නැත. එය තවමත් පවසන්නේ, "හෙලෝ වර්ල්ඩ් ප්‍රධාන පන්තිය සොයා ගැනීමට හෝ පැටවීමට නොහැකි විය"
ජිම්

java -jar HelloWorld.jar ද විකල්පයකි
BMaximus

12
මට කරන්න අවශ්‍ය වුනාjava -classpath . HelloWorld
ක්‍රිස් ප්‍රින්ස්

138

ඔබේ පන්ති පැකේජවල තිබේ නම්, ඔබ cdඔබේ ව්‍යාපෘතියේ මූල නාමාවලිය වෙත ගොස් පන්තියේ සම්පූර්ණ සුදුසුකම් සහිත නම භාවිතා කර ධාවනය කළ යුතුය (packageName.MainClassName).

උදාහරණයක්:

මගේ පන්ති මෙහි ඇත:

D:\project\com\cse\

මගේ ප්‍රධාන පන්තියේ සම්පූර්ණ සුදුසුකම් ලත් නම:

com.cse.Main

එබැවින් මම cdනැවත මූල ව්‍යාපෘති නාමාවලිය වෙත:

D:\project

ඉන්පසු javaවිධානය නිකුත් කරන්න :

java com.cse.Main

මෙම පිළිතුර පොදු වැරැද්දක් නිසා ඇති වූ කලකිරීමෙන් නවක ජාවා ක්‍රමලේඛකයින් ගලවා ගැනීම සඳහා වන අතර, ජාවා පන්තියේ මාවත පිළිබඳ ගැඹුරු දැනුමක් සඳහා පිළිගත් පිළිතුර කියවීමට මම නිර්දේශ කරමි.


2
මෙම පිළිතුර සමස්ත උපකල්පන රාශියක් කරයි. මෙය සාක්ෂාත් කර ගැනීම සඳහා වෙනත් ක්‍රම තිබේ. ඉහත උපදෙස් අන්ධ ලෙස අනුගමනය කරනවා වෙනුවට, ජාවා පන්තියේ මාර්ගය ක්‍රියාත්මක වන ආකාරය පැහැදිලි කරන මගේ පිළිතුරේ ඇති සබැඳි කියවීමට මිනිසුන් කාලය ගත කරන ලෙස මම නිර්දේශ කරමි. ඔබ කරන්නේ කුමක්ද යන්න වටහා ගැනීම වඩා හොඳය ...
ස්ටීවන් සී

2
මෙම පිළිතුර මට අවශ්‍ය යැයි උපකල්පනය කරයි :) මම .class ගොනුවේ නාමාවලියෙහි පිහිටා ඇති අතර java.exe ක්‍රියා නොකරයි. වරක් මම ඉහත cd-ed කර එය ක්‍රියාත්මක වූ විධාන රේඛාවට ඇතුළත් කර ඇති පැකේජයේ නම සමඟ දිව ගියෙමි.
නික් කොන්ස්ටන්ටයින්

61

ඔබ ප්‍රධාන පන්තිය සහ ප්‍රධාන ක්‍රමය a හි අර්ථ දක්වන්නේ නම්package , ඔබ එය ධූරාවලි නාමාවලිය හරහා ධාවනය කළ යුතුය, පන්තියේ සම්පූර්ණ නම භාවිතා කරමින් ( packageName.MainClassName).

ප්‍රභව කේත ගොනුවක් ඇතැයි සිතන්න (Main.java):

package com.test;

public class Main {

    public static void main(String[] args) {
        System.out.println("salam 2nya\n");
    }
}

මෙම කේතය ක්‍රියාත්මක කිරීම සඳහා, ඔබ Main.Classඩිරෙක්ටරිය වැනි පැකේජයේ තැබිය යුතුය ./com/test/Main.Java. සහ මූල ඩිරෙක්ටරි භාවිතයේදී java com.test.Main.


1
මගේ පිළිතුරේ "අතිරේක සටහන් # 1" බලන්න. මෙම ගැටළුව පිළිබඳ වඩා හොඳ පැහැදිලි කිරීමක් සඳහා.
ස්ටීවන් සී

14
Te ස්ටෙෆෙන්ක් ඔව්, ඔබේ පිළිතුර වඩාත් සම්පූර්ණයි (ඇත්ත වශයෙන්ම +1), නමුත් මෙම විශේෂිත පිළිතුරෙහි “පැකේජය” යන වචනය තිබී ඇති අතර එමඟින් මට අවශ්‍ය දේ වේගයෙන් සොයා ගැනීමට හැකි විය. එය ක්‍රියාත්මක විය. ඉතින් +1 රාසවි. ස්ටීවන්සී, මම ජාවා වලට අලුත් බැවින් මට අවශ්‍ය සරල පැකේජ උදාහරණය ඔබ සතුව නොමැත.
kmort

5
මෙය හරියටම මගේ ගැටලුව විය. මම ටොන් ගණනක් ජාවා ලේඛනය හරහා ගමන් කරමින් සිටිමි. මෙම ස්ථිර උදාහරණය මට අවශ්‍ය වූයේ
ජෝන්

1
ඔව්, කොන්ක්‍රීට් උදාහරණය හොඳයි, මෙය පරිපූර්ණව ක්‍රියාත්මක විය. මට විශ්වාසයි ප්‍රධාන පිළිතුර ඉතා සවිස්තරාත්මක නමුත් වනාන්තරය සඳහා ගස දැකීම දුෂ්කර විය. නියමයි @ රාසාවි
පික්සෙල්

1
පිළිගත් පිළිතුර වෙනුවට මෙම කෙටි හා ප්‍රයෝජනවත් පිළිතුරට මම කැමතියි!
ස්පා

47

එකම කේතය එක් පරිගණකයක ක්‍රියාත්මක වන නමුත් එය තවත් පරිගණකයක දෝෂය පෙන්වන විට, මා මෙතෙක් සොයාගෙන ඇති හොඳම විසඳුම පහත පරිදි සම්පාදනය කිරීමයි:

javac HelloWorld.java
java -cp . HelloWorld

2
මෙය හොඳ නිර්දේශයක් නොවේ. ඔබ රඳා පවතින්නේ CLASSPATH පරිසර විචල්‍යය සැකසීමෙන් හෝ "." ට අනුරූප වන අගයක් තිබීම මත ය. ඔව්, එය බොහෝ අවස්ථාවන්හීදී ක්‍රියාත්මක වන නමුත් එය අනෙක් අය තුළ සිදු නොවේ.
ස්ටීවන් සී

හොඳයි, නිසැකවම javac -classpath . HelloWorld.javaවැඩ කරනු ඇත! එය ඔබේ නඩුවේ වඩා හොඳ විසඳුමකි.
ස්ටීවන් සී

2
ඔබට පළමු පේළියක් ලෙස 'පැකේජය com.some.address' තිබේ නම් - මෙය ක්‍රියා නොකරනු ඇත. ඔබට 'පැකේජ ලිපිනය' ගැන අදහස් දැක්වීමට අවශ්‍ය වනු ඇත ..
ජෝ

1
Oe ජෝ - එම හැක් (පැකේජය ගැන අදහස් දැක්වීම) ක්‍රියාත්මක වනු ඇත (සමහර අවස්ථාවල) නමුත් එය නරක අදහසකි. වඩා හොඳ අදහසක් නම් ගැටලුවට හේතුව කුමක්දැයි ඉගෙන ගැනීම / තේරුම් ගැනීම සහ නිවැරදි විසඳුම ක්‍රියාත්මක කිරීමයි.
ස්ටීවන් සී

36

මට උදව් වූයේ විධාන රේඛාවේ පන්ති මාර්ගය සඳහන් කිරීමයි, උදාහරණයක් ලෙස:

  1. නව ෆෝල්ඩරයක් සාදන්න, C:\temp

  2. C:\tempපහත පන්තිය සමඟ Temp.java ගොනුව සාදන්න :

    public class Temp {
        public static void main(String args[]) {
            System.out.println(args[0]);
        }
    }
  3. ෆෝල්ඩරයේ විධාන රේඛාවක් විවෘත කර C:\tempතාවකාලික පන්තිය සම්පාදනය කිරීම සඳහා පහත විධානය ලියන්න:

    javac Temp.java
  4. සම්පාදනය කරන ලද ජාවා පංතිය ධාවනය කරන්න, පංතිය -classpathසොයා ගත හැකි ස්ථානය JRE ට දැන ගැනීමට විකල්පය එකතු කරමින් :

    java -classpath C:\temp Temp Hello!

3
උබුන්ටු වලදී මට මාර්ගයද නියම කිරීමට සිදුවිය. පෙරනිමියෙන් එය වත්මන් වැඩ නාමාවලිය භාවිතා කළ නොහැක්කේ මන්දැයි තේරුම් නොගන්න. ජාවා සඳහා යතුරුපුවරු නිෂ්පාදකයින් අනුග්‍රහය දක්වන බව මට විශ්වාසයි !!
ගොස්

1
@gone - හේතුව "." පෙරනිමියෙන් $ PATH හි නොමැත, එය ආරක්ෂක උගුලකි. seas.upenn.edu/cets/answers/dot-path.html
ස්ටීවන් සී

මේ සඳහා බොහෝම ස්තූතියි ...... පරිසර විචල්‍යයන් සැකසීමෙන් පසුව පවා ජාවා පන්තියේ මාවත සොයා ගැනීමට නොහැකි වූයේ මන්දැයි නොදැන සිටියද.
akash89

@ akash89 - මෙහි වඩාත්ම විය හැකි හේතු වූයේ, 1) java$ CLASSPATH (ඔබ -classpath හෝ -jar භාවිතා නිසා) හෝ 2) දෙස නැහැ මේ classpath සැකසුම බව නොව පසුබිම සකසා නැත ක්රියාත්මක ඇති මේ සන්දර්භය තුළ javaවිය ධාවනය; උදා: ඔබ නිවැරදි කවචයේ setenv විධාන එකතු කළ ගොනුව "මූලාශ්‍ර" නොකළ නිසා.
ස්ටීවන් සී

මට තවමත් දෝෂයක් ඇත: ප්‍රධාන පන්තියේ ටෙම්ප් සොයා ගැනීමට හෝ පැටවීමට නොහැකි විය කිසිවෙකුට උදව් කළ හැකිය!
තරුව

27

දෝෂ පණිවිඩයට අනුව ("ප්‍රධාන පන්තිය සොයා ගැනීමට හෝ පූරණය කිරීමට නොහැකි විය"), ගැටළු වර්ග දෙකක් තිබේ:

  1. ප්රධාන පන්ති කළ නොහැකි සොයා
  2. ප්‍රධාන පංතිය පූරණය කළ නොහැක (පිළිගත් පිළිතුරේ මෙම නඩුව සම්පූර්ණයෙන් සාකච්ඡා නොකෙරේ)

ප්රධාන පන්ති කළ නොහැකි සොයා නොමැති විට පූර්ණ සුදුසුකම් ලත් පන්තියේ නාමයෙන් මුද්රණ දෝෂයක් හෝ වැරදි කාරක රීති හෝ එය සපයා classpath දී නොපවතියි .

පංතිය ආරම්භ කළ නොහැකි විට ප්‍රධාන පන්තිය පූරණය කළ නොහැකි විය , සාමාන්‍යයෙන් ප්‍රධාන පන්තිය වෙනත් පන්තියක් විහිදුවන අතර එම පන්තිය ලබා දී ඇති පන්ති මාවතේ නොපවතී.

උදාහරණයක් වශයෙන්:

public class YourMain extends org.apache.camel.spring.Main

ඔටුවන්-වසන්තය ඇතුළත් කර නොමැති නම්, මෙම දෝෂය වාර්තා වේ.


“මූලික වශයෙන්” තවත් වර්ග රාශියක් ඇත. නැතිවූ සුපර් ක්ලාස් ගැටළුව ඉතා අසාමාන්‍ය උප කුලකයකි. (මම අසා නැති තරම් අසාමාන්‍යයි ... මෙම වෙබ් අඩවියෙන් අසන ලද ප්‍රශ්න වලින්.)
ස්ටීවන් සී

දෝෂය "ප්‍රධාන පන්තිය සොයා ගැනීමට හෝ පැටවීමට නොහැකි විය" යනුවෙන් පවසන නිසා TWO ඇත. වෙනත් කාණ්ඩ තිබේ නම්, කරුණාකර මට උපදෙස් දෙන්න. මම එය දැක ඇත්තෙමි, එබැවින් එය මෙහි බෙදා ගැනීමට අවශ්‍ය නම් සමහර විට වෙනත් කෙනෙකුට එය අවශ්‍ය වනු ඇත.
ෂියාඕ පෙන් - ZenUML.com

2
"මෙම විශේෂිත දෝෂය වළක්වා ගැනීම සඳහා ප්‍රධාන පංතිය ආරම්භ කිරීම සඳහා අවශ්‍ය සියලුම පන්ති ඔබ ඇතුළත් කළ යුතුය" වැනි දෙයක් වෙත මම එය සංශෝධනය කිරීමට ඉඩ තිබුණි. මම ඔබට ඒත්තු ගැන්වීමට උත්සාහ නොකරමි. එය මා දැකීමට කැමති ක්‍රමයක් පමණි. මේ ආකාරයෙන් දේවල් කියවීමට කැමති අය සඳහා මම මෙහි පිළිතුර තැබුවෙමි. මෙම සාකච්ඡාව තවදුරටත් දීර් not නොකරමු :) මම මගේ ප්‍රකාශය "පිළිගත් පිළිතුරෙහි සම්පූර්ණයෙන් සාකච්ඡා නොකලෙමි" ලෙස වෙනස් කළෙමි.
ෂියාඕ පෙන් - ZenUML.com

6
මෙම තොරතුරු ඉතා වැදගත් වන අතර පැහැදිලි සඳහනක් ලැබිය යුතුය (සඳහන් කරන එකම පිළිතුර මෙයයි extends). මම කරන ප්රධාන පන්තිය අසමත් වන විට මුහුණ දෙන ආකාරය ඉගෙන ගෙන සිටිමි බර එය කළ නොහැකි බව තවත් ව්යාප්ත නිසා සොයා , ජාවා සැබෑ පන්ති සොයාගත නොහැකි වූ වාර්තා කරන්නේ නැත (මෙන් නොව NoClassDefFoundError). ඉතින් ඔව් එය සිදු වන අතර ඔබ මෙය නොදන්නා විට එය හිසකෙස් ඇදීමේ තත්වයකි.
හියුස් එම්

1
මෙම තත්වය තුළ පැටවීමට අපොහොසත් වන්නේ කුමන පරායත්ත පන්තියද යන්න හරියටම පැවසීමට ක්‍රමයක් තිබේද?
කාලෝස් ඒ. ඉබාරා

17

උත්සාහ කරන්න -Xdiag .

ස්ටීව් සීගේ පිළිතුර මගින් සිදුවිය හැකි අවස්ථා මනාව ආවරණය කරයි, නමුත් සමහර විට පන්තිය සොයා ගැනීමට හෝ පටවා ගැනීමට නොහැකි වූයේද යන්න තීරණය කිරීම එතරම් පහසු නොවනු ඇත. භාවිතා කරන්න java -Xdiag(JDK 7 සිට). මෙය පණිවුඩ Could not find or load main classපණිවිඩයේ තේරුම පිළිබඳ ඉඟියක් සපයන ලස්සන ස්ටැක්ට්‍රේස් එකක් මුද්‍රණය කරයි .

නිදසුනක් ලෙස, එය සොයාගත නොහැකි වූ ප්‍රධාන පංතිය විසින් භාවිතා කරන වෙනත් පංති වෙත ඔබව යොමු කළ හැකි අතර ප්‍රධාන පන්තිය පැටවීම වලක්වනු ඇත.


16

මෙම නඩුවේ මට එවැනි දෝෂයක් තිබුණි:

java -cp lib.jar com.mypackage.Main

එය ;වින්ඩෝස් සහ :යුනික්ස් සඳහා ක්‍රියා කරයි :

java -cp lib.jar; com.mypackage.Main

ඔව්. එය බොහෝ දුරට ඉඩ ඇත්තේ ඔබේ MainJAR ගොනුවේ නොමැති නිසාය. -cp lib.jar;ලෙස එකම දෙයක් අදහස් -cp lib.jar;. වත්මන් බහලුම classpath ඇතුළත් වේ එනම්.
ස්ටීවන් සී

අවසාන වශයෙන් යුනික්ස් සඳහා ගැටළුව විසඳා ඇත .. ස්තූතියි (සමඟ වැඩ කරයි :)
විකී

16

මෙම විධානය භාවිතා කරන්න:

java -cp . [PACKAGE.]CLASSNAME

උදාහරණය: ඔබේ පන්තියේ නම Hello.java වෙතින් සාදන ලද Hello.class නම් පහත විධානය භාවිතා කරන්න:

java -cp . Hello

ඔබේ ගොනුව Hello.java පැකේජය තුළ තිබේ නම් com.demo පහත විධානය භාවිතා කරන්න

java -cp . com.demo.Hello

JDK 8 සමඟ බොහෝ විට සිදුවන්නේ පන්ති ගොනුව එකම ෆෝල්ඩරයක javaතිබීමයි , නමුත් විධානය මඟින් පංතියේ මාවත අපේක්ෂා කරන අතර මේ හේතුව නිසා අපි -cp .වත්මන් ෆෝල්ඩරය පන්ති පථය සඳහා යොමු කිරීමක් ලෙස එකතු කරමු .


මෙය ක්‍රියාත්මක වන්නේ සරල අවස්ථා වලදී පමණි. වඩාත් සංකීර්ණ අවස්ථාවන් සඳහා වඩාත් සංකීර්ණ පන්ති මාර්ගයක් අවශ්‍ය වේ.
ස්ටීවන් සී

>> >> ඇත්තටම << සරල අවස්ථා -cp .අනවශ්‍යය, මන්ද එය $CLASSPATHසකසා නොමැති නම් .පෙරනිමි පන්ති මාර්ගය වේ.
ස්ටීවන් සී

ස්ටීවන් නැත, වින්ඩෝස් පෙරනිමි පන්තියේ බොහෝ වාරයක් ක්‍රියා නොකරයි. මම එය විවිධ යන්ත්‍ර තුනකින් අත්හදා බැලුවෙමි, ඔබටත් එය අත්හදා බැලිය හැකිය.
ෂයිලු

එයට හේතුව ඔබ සැබවින්ම% CLASSPATH% පරිසර විචල්‍යය කොතැනක හෝ සකසා ඇති බැවිනි. ඔබ එය කරන්නේ නම්, ඔබ සුපුරුදු පන්ති මාර්ගය භාවිතා නොකරයි. ( echo %CLASSPATH%ප්‍රතිදානය යනු කුමක්ද?) නැත, මට වින්ඩෝස් පරිගණකයක් නොමැති නිසා මට පරීක්ෂා කළ නොහැක.
ස්ටීවන් සී

2
විධාන රේඛාවෙන් සරල වැඩසටහනක් ක්‍රියාත්මක කිරීමට මා උත්සාහ කළ විට මෙය මට ප්‍රයෝජනවත් විය
SnuKies

15

සමහර විට ගැටලුවට හේතු විය හැකි දේ ප්‍රධාන පංතිය සමඟ කිසිදු සම්බන්ධයක් නැති අතර මට මෙය දුෂ්කර මාර්ගය සොයා ගැනීමට සිදු විය. එය මා යොමු කළ පුස්තකාලයක් වූ අතර එය මට ලබා දුන්නේ:

ප්‍රධාන පන්තියේ xxx ලිනක්ස් සොයා ගැනීමට හෝ පූරණය කිරීමට නොහැකි විය

මම එම යොමු කිරීම මකා දැමුවෙමි, එය නැවත එකතු කළෙමි, එය නැවත හොඳින් ක්‍රියාත්මක විය.


1
ඔබගේ IDE හි ඔබගේ ව්‍යාපෘතියේ බිඳුණු “යොමු කිරීමක්” හේතුවෙන් ඔබට වැරදි පන්තියක් තිබීම ගැටලුවක් බව පෙනේ. එම නඩුව ආවරණය කිරීම සඳහා මම මගේ පිළිතුර යාවත්කාලීන කරමි.
ස්ටීවන් සී

Te ස්ටෙෆෙන් සී සහ එඩ්වාඩෝ ඩෙනිස්, මෙහි දී ද භාජනයක් අතුරුදහන් වී ඇති අතර, එම භාජනයේ ප්‍රධාන පන්තිය ක්ෂණිකව රඳා පවතින අතුරු මුහුණතක් අඩංගු විය. එබැවින්, දෝෂ පණිවිඩය ඉතා පුළුල් ය. පංති ගොනුව සොයාගත නොහැකි නම් "සොයාගත නොහැකි විය" සහ වෙනත් දෙයක් නැති නමුත් ගොනුව නොමැති නම් "පැටවිය නොහැකි" යැයි මම පැවසිය යුතුය, එබැවින් දෝෂ පණිවිඩය ඉතා පුළුල් වීම ඔබ අවධානය යොමු කළහොත් පමණක් මග හැරේ. එහි "සොයා" කොටස මත :(
ඇක්වාරියස් පවර්

Qu ඇක්වාරියස් පවර් - පංතිය අස්ථානගත වී ඇති බව පැවසූ “හේතුව” ව්‍යතිරේකය සඳහා අමතර “ස්ටැක්ට්‍රේස්” නිසා තිබිය යුතුය. ඔබට ජාවා සංවර්ධකයින්ට යෝජනා කිරීමට අවශ්‍ය නම් ඔවුන් අවුරුදු 20+ ක් තිස්සේ කියමින් සිටි වැරදි පණිවිඩයක් වෙනස් කරන ලෙස ... නිදහස් වන්න. (දෝෂ පණිවිඩය නිවැරදි යැයි මම සිතමි. ගැටලුව වූයේ >> ඔබ << වැරදි වගන්තිය පටු කර තිබීමයි.)
ස්ටීවන් සී

St මා අදහස් කළ දෙය නම්, ප්‍රධාන පංතියේ ගොනුව තිබේද නැද්ද යන්න පිළිබඳව ඔවුන්ට නිසැකවම තොරතුරු ලබා ගත හැකිය, එබැවින් එවැනි ගොනුවක් අස්ථානගත වී ඇති බව පවසමින් වඩා හොඳ දෝෂ පණිවිඩයක් අපට පෙන්වන්නේ නැත්තේ ඇයි? අනෙක් අතට, ඔවුන්ට "ගොනුව හමු වූ නමුත් පටවා ගත නොහැකි විය" යනුවෙන් පැවසිය හැකිය, එම අවස්ථාවේ දී අපි ක්ෂණිකව අවධානය යොමු කරනුයේ දින භාගයක් අහිමි කර ගැනීම සහ අවබෝධ කර ගැනීම සඳහා දේවල් පරීක්ෂා කිරීම වෙනුවට යැපීම් කෙරෙහි ය. මා අදහස් කළේ එයයි :). ඔවුන් එය අවුරුදු 20+ කට සීමිත ආකාරයකින් කළ හැකි නමුත් ඔවුන්ට එය වැඩිදියුණු කළ හැකි අතර අපගේ විවේචන හා පැමිණිලි වලින් එය සිදුවනු ඇත. : ඩී
ඇක්වාරියස් පවර්

කරුණාකර තේරුම් ගන්න >> මම << අදහස් කළේ කුමක්ද. අවුරුදු 3 ක් වයසැති ප්‍රශ්නෝත්තර පිළිබඳ කිසියම් අපැහැදිලි ප්‍රකාශයකින් ඒ ගැන පැමිණිලි කිරීමෙන් කිසිවක් අත්කර ගත නොහැක. ඔබගේ පැමිණිලි සම්බන්ධයෙන් සංක්ෂිප්තව ක්‍රියා කළ හැකි පුද්ගලයින් එය නොදකිනු ඇත. ඔබට නිර්මාණාත්මක යමක් කිරීමට අවශ්‍ය නම්, පැච් එකක් ඉදිරිපත් කරන්න. (මම ඔබේ අවස්ථාවන් ඇගයීමට ලක් නොකරමි, නමුත් ඔබ ඒ ගැන කෑගසනවාට වඩා ඒවා විශාල වනු ඇත.)
ස්ටීවන් සී

10

මෙම අවස්ථාවේදී ඔබට ඇත්තේ:

ප්‍රධාන පංතිය සොයා ගැනීමට හෝ පූරණය කිරීමට නොහැකි විය ?

එයට හේතුව ඔබ "-classpath" භාවිතා කරන බැවිනි, නමුත් ඉරක් javaවිධාන විමසුමේදී භාවිතා කරන එකම ඉරක් නොවේ . මට මෙම ගැටළුව නොට්පෑඩ් සිට සෙ.මී.


2
වාව්! එය මුළුමනින්ම විකාර හේතුවකි! (නමුත් සැබෑ පෙළ සංස්කාරකයක් වෙනුවට නොට්පෑඩ් භාවිතා කිරීම සඳහා එය ඔබට නිවැරදිව සේවය කරයි :-))
ස්ටීවන් සී

10

මට එකම ගැටළුවක් ඇති අතර අවසානයේ මගේ වැරැද්ද සොයා ගත්තේය :) මම මෙම විධානය සම්පාදනය සඳහා භාවිතා කළ අතර එය නිවැරදිව ක්‍රියාත්මක විය:

javac -cp "/home/omidmohebbi/AAAATest/jars/core-1.7.jar:/home/omidmohebbi/AAAATest/jars/javase-1.7.jar:/home/omidmohebbi/AAAATest/jars/qrgen-1.2.jar" qrcode.java

නමුත් මෙම විධානය මට වැඩ කළේ නැත (මට ප්‍රධාන පන්තිය සොයා ගැනීමට හෝ පැටවීමට නොහැකි විය qrcode):

java -cp "/home/omidmohebbi/AAAATest/jars/core-1.7.jar:/home/omidmohebbi/AAAATest/jars/javase-1.7.jar:/home/omidmohebbi/AAAATest/jars/qrgen-1.2.jar" qrcode

අවසාන වශයෙන් මම පන්ති මාවත අවසානයේ ':' අක්‍ෂරය එක් කළ අතර ගැටළුව විසඳුණි:

java -cp "/home/omidmohebbi/AAAATest/jars/core-1.7.jar:/home/omidmohebbi/AAAATest/jars/javase-1.7.jar:/home/omidmohebbi/AAAATest/jars/qrgen-1.2.jar:" qrcode

7

මගේ නඩුවේදී, පංතියේ නම වෙනුවට ප්‍රභව ගොනු නාමය සපයා ඇති නිසා දෝෂයක් ඇතිවිය.

ප්‍රධාන ක්‍රමය අඩංගු පන්ති නාමය අප පරිවර්ථකයාට සැපයිය යුතුය.


ඔව්. පංතියේ නම සඳහන් කිරීමට වැරදි ක්‍රම පිළිබඳ මගේ උදාහරණය # 2 බලන්න !!
ස්ටීවන් සී

7

ඔබේ නඩුව විශේෂයෙන් මගේ හා සමාන නම් මෙය ඔබට උදව් වනු ඇත: ආරම්භකයකු ලෙස මම ජාවා වැඩසටහනක් ක්‍රියාත්මක කිරීමට උත්සාහ කරන විටද මෙම ගැටලුවට මුහුණ දුන්නෙමි.

මම එය මෙසේ සම්පාදනය කළෙමි:

javac HelloWorld.java

මම එකම දිගුව සමඟ ධාවනය කිරීමට උත්සාහ කළෙමි:

java Helloworld.java

මම ඉවත් කර .javaවිධානය නැවත ලිවූ විට java HelloWorld, වැඩසටහන හොඳින් ක්‍රියාත්මක විය. :)


2
මෙයට හේතුව ඔබ ඔබේ .java හි සංයුක්ත අනුවාදය ක්‍රියාත්මක කිරීමයි. එය සැබවින්ම .class ගොනුව ක්‍රියාත්මක කරයි
ජේසන් වී

වාර්තාව සඳහා, මෙය මගේ පිළිතුරේ හේතුව # 1, උදාහරණ # 5 ට සමාන වේ ...
ස්ටීවන් සී

6

මෙහි ඇති සියලුම පිළිතුරු වින්ඩෝස් පරිශීලකයින් වෙත යොමු වී ඇති බව පෙනේ. මැක් සඳහා, පන්ති පථ බෙදුම්කරු :නොවේ ;. පංති මාර්ගය සැකසීමේ දෝෂයක් ;නොමැති බැවින් වින්ඩෝස් සිට මැක් වෙත පැමිණෙන්නේ දැයි සොයා ගැනීමට අපහසු වේ.

අනුරූප මැක් විධානය මෙන්න:

java -classpath ".:./lib/*" com.test.MyClass

මෙම උදාහරණයේ පැකේජය ඇති com.testඅතර libෆෝල්ඩරයක් පන්ති මාවතේ ඇතුළත් කළ යුතුය.


2
මැක්හි මෙන් ලිනක්ස් වල.
ඇලෙක්ස් 78191

/*අවශ්‍ය වන්නේ ඇයි ?
ඇලෙක්ස් 78191

එය ආදේශක වාක්‍ය ඛණ්ඩයකි. (එය අනිවාර්ය නොවේ. ඔබට අවශ්‍ය නම් ඔබට JARs පැහැදිලිව ලැයිස්තු ගත කළ හැකිය.)
ස්ටීවන් සී

6

රූප විස්තරය මෙහි ඇතුළත් කරන්න

පන්ති ගොනු ස්ථානය: C: \ test \ com \ සමාගම

ගොනුවේ නම: Main.class

සම්පුර්ණ සුදුසුකම් ලත් පන්තියේ නම: com.company.Main

විධාන රේඛා විධානය:

java  -classpath "C:\test" com.company.Main

පන්ති මාවතට \ com \ සමාගම ඇතුළත් නොවන බව මෙහිදී සටහන් කරන්න


6

JAR ගොනුව තැනීමට ඔබ Maven භාවිතා කරන්නේ නම් , කරුණාකර pom.xml ගොනුවේ ප්‍රධාන පන්තිය සඳහන් කිරීමට වග බලා ගන්න:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>class name us.com.test.abc.MyMainClass</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

6

මෙම ගැටළුව විසඳීම සඳහා මම සෑහෙන කාලයක් ගත කළෙමි. මම කෙසේ හෝ මගේ පන්ති මාර්ගය වැරදියට සකසා ඇති බව සිතුවද ගැටලුව වූයේ මා ටයිප් කිරීමයි:

java -cp C:/java/MyClasses C:/java/MyClasses/utilities/myapp/Cool  

වෙනුවට:

java -cp C:/java/MyClasses utilities/myapp/Cool   

සම්පුර්ණ සුදුසුකම් ලත් අයගේ තේරුම සම්පූර්ණ පැකේජයේ නම වෙනුවට සම්පූර්ණ මාර්ග නාමය ඇතුළත් කිරීම යැයි මම සිතුවෙමි.


එම ව්‍යාකූලතාවයට පිළියමක් ලෙස මම මගේ පිළිතුර යාවත්කාලීන කර ඇත්තෙමි.
ස්ටීවන් සී

2
මේ දෙකම නිවැරදි නොවේ. පංතියට utilities.myapp.Coolඑහි පැකේජයේ නම හෝ තිබේ නම් එය ලබා දිය යුතුය .
ලෝර්න් හි මාක්විස්

5

පළමුව මෙම විධානය භාවිතා කරමින් මාර්ගය සකසන්න;

set path="paste the set path address"

එවිට ඔබට වැඩසටහන පූරණය කළ යුතුය. ගබඩා කර ඇති ධාවකයේ "cd (ෆෝල්ඩරයේ නම)" ටයිප් කර එය සම්පාදනය කරන්න. උදාහරණයක් ලෙස, මගේ වැඩසටහන ඩී ඩ්‍රයිව් හි ගබඩා කර ඇත්නම්, "ඩී:" ටයිප් කර "සීඩී (ෆෝල්ඩරයේ නම)" ටයිප් කරන්න.


4
මෙය උදව් නොකරයි. මෙම ප්‍රශ්නය ජාවා වැඩසටහන් ගැන මිස සාමාන්‍ය ක්‍රියාත්මක කළ හැකි ඒවා නොවේ. කිසිවක් සොයා ගැනීමට ජාවා PATH භාවිතා නොකරන අතර, "සීඩී" උදව් කරන්නේ නම් එය විනිශ්චයට වඩා වාසනාවෙනි.
ස්ටීවන් සී

if "cd" helps then it by luck rather than by judgement. ජාවා වත්මන් නාමාවලිය භාවිතා කරන බැවින් මෙය වැරදියි (මම විශ්වාස කරමි). පන්තියේ මාවතේ පෙරනිමියෙන් භාවිතා කරයි.
GKFX

2
@GKFX - මා අදහස් කළේ එයයි. ඔබ සුපුරුදු පන්ති මාර්ගය භාවිතා කරන බව ඔබ නොදන්නේ නම් (හෝ එය මත "." සහිත පන්ති මාර්ගයක්), "සීඩී" කිසිදු බලපෑමක් ඇති නොකරනු ඇත. මෙම විසඳුම විනිශ්චයට වඩා වාසනාව අනුව (එනම් "." පන්ති මාවතේ ඇතැයි අනුමාන කිරීම / බලාපොරොත්තු වීම) වැඩ කරයි (එනම් පන්ති මාවතේ "." තිබේදැයි පරීක්ෂා කිරීම). තවද පෙරනිමිය පිළිබඳව ඔබ වැරදිය. ජාවා භාවිතා කරන්නේ "." පෙරනිමියෙන් පන්ති මාර්ගය ලෙස මිස පෙරනිමියෙන් පන්තියේ මාවතේ කොටසක් ලෙස නොවේ.
ස්ටීවන් සී

5

මගේ නඩුවේ ගැටලුව විසඳූයේ:

ඔබට ක්‍රියාත්මක කිරීමට අවශ්‍ය ව්‍යාපෘතිය / පන්තිය මත දකුණු ක්ලික් කරන්න, ඉන්පසු Run As-> Run Configurations. එවිට ඔබ ඔබගේ පවතින වින්‍යාසය නිවැරදි කළ යුතුය, නැතහොත් පහත සඳහන් ආකාරයෙන් නව එකතු කළ යුතුය:

විවෘත කරන්න Classpathටැබ් එක කර Advanced...බොත්තම ක්ලික් කර ඔබේ ව්‍යාපෘතියේ binෆෝල්ඩරය එක් කරන්න.


5

වින්ඩෝස් මත .;ආරම්භයේ දී CLASSPATH අගය යොදන්න.

එම . (dot) යන්නෙහි තේරුම "වත්මන් නාමාවලියෙහි බලන්න" යන්නයි. මෙය ස්ථිර විසඳුමකි.

එසේම ඔබට එය "එක් වරක්" කට්ටලය සමඟ සැකසිය CLASSPATH=%CLASSPATH%;.හැකිය. ඔබේ cmd කවුළුව විවෘතව පවතින තාක් කල් මෙය පවතිනු ඇත.


1
මෙම උපදෙස් උදව් විය හැකිය හෝ නොවිය හැකිය. වත්මන් නාමාවලියෙහි පන්ති අඩංගු පන්ති ගස නම් එය උපකාරී වේ. ඔවුන් එසේ නොවේ නම් එය සිදු නොවේ. මම ඇත්තටම මේක කරන්නේ නැහැ. ඒ වෙනුවට පරිශීලකයා "නිවැරදි" නාමාවලියෙහි සිටියත් නැතත් වැඩ කරන එක්-ලයිනර් එතීමේ පිටපතක් මම නිර්මාණය කරමි.
ස්ටීවන් සී

4

ජාවා හි, ඔබ සමහර විට ජාවා ක්‍රියාත්මක කළ හැකි විධාන රේඛාවෙන් ජේවීඑම් ධාවනය කර පොදු ස්ථිතික අවලංගු ප්‍රධාන (පීඑස්වීඑම්) සහිත පන්ති ගොනුවකින් වැඩසටහනක් ආරම්භ කිරීමට උත්සාහ කරන විට, පංති පථයේ පරාමිතිය දක්වා වුවද ඔබට පහත දෝෂය ඇතිවිය හැකිය. JVM නිවැරදි වන අතර පන්ති ගොනුව පන්ති මාවතේ ඇත:

Error: main class not found or loaded

PSVM සමඟ පන්ති ගොනුව පූරණය කළ නොහැකි නම් මෙය සිදු වේ. ඒ සඳහා ඇති විය හැකි එක් හේතුවක් නම් පන්තිය අතුරු මුහුණතක් ක්‍රියාත්මක කිරීම හෝ පන්ති පථයේ නොමැති වෙනත් පන්තියක් දීර් ing කිරීමයි. සාමාන්‍යයෙන් පංතියක් පන්තියේ නොමැති නම්, විසි කළ දෝෂය පෙන්නුම් කරන්නේ එවැනි ය. එහෙත්, භාවිතයේ ඇති පන්තිය දීර් extended කර හෝ ක්‍රියාත්මක කරන්නේ නම්, ජාවාට පන්තියම පැටවීමට නොහැකි වේ.

යොමුව: https://www.computingnotes.net/java/error-main-class-not-found-or-loaded/


1
ඔබ පිළිගත් පිළිතුර කියවූවාද? ඔබේ පිළිතුරට අලුත් යමක් එකතු වේද?
ස්ටීවන් සී

2
TeStephenC "හේතුව" කාණ්ඩ සහ ඒවායේ කරුණු දෙස බැලීමෙන් මම ඔබේ ලැයිස්තුවේ හේතුවක් සොයා ගැනීමට උත්සාහ කළෙමි. "හේතුව # 1" සහ "හේතුව # 2" යන මාතෘකාවෙහි මගේ ගැලපෙන ස්ථානය මට සොයාගත නොහැකි විය (පන්ති මාවතේ කිසිදු ගැටළුවක් නොමැති බව මට විශ්වාසයි). අත්හදා බැලීම් කිරීමෙන් මම හේතුව සොයාගෙන ඇති අතර, මගේ නඩුවේ "ප්‍රධාන පංතිය හමු නොවීය" දෝෂය පෙන්වීම නිසා අතුරු මුහුණත ක්‍රියාත්මක කිරීම පන්ති මාවතේ නොතිබීම ගැන මම පුදුමයට පත් වීමි. ඔබට "ලිපියේ විස්තර කර ඇති සියල්ල කියවිය යුතුය" යැයි පැවසිය හැකි නමුත් ඔබේ හේතු ලැයිස්තුව වැඩිදියුණු කළ හැකි බව මට පෙනේ.
gumkins

4

මෙය විශේෂිත අවස්ථාවකි, නමුත් මම මෙම පිටුවට විසඳුමක් සොයමින් පැමිණ එය සොයා නොගත් බැවින් මම එය මෙහි එක් කරමි.

වින්ඩෝස් (7 සමඟ පරීක්ෂා කර ඇත á) පන්තියේ සහ පැකේජ නාමවල විශේෂ අක්ෂර (වැනි ) පිළිගන්නේ නැත . ලිනක්ස් එසේ වුවද.

මම මෙය සොයාගත්තේ මම .jarනෙට්බීන්ස් හි ඉදිකර එය විධාන රේඛාවෙන් ධාවනය කිරීමට උත්සාහ කළ අවස්ථාවේදීය. එය නෙට්බීන්ස් හි ධාවනය වූ නමුත් විධාන රේඛාවේ නොවේ.


4

ඔබ මෙය සැබවින්ම srcෆෝල්ඩරයෙන් කළ යුතුය. එහිදී ඔබ පහත දැක්වෙන විධාන රේඛාව ටයිප් කරන්න:

[name of the package].[Class Name] [arguments]

ඔබගේ පංතිය කැඳවනු ඇතැයි කියමු CommandLine.class, කේතය මේ ආකාරයෙන් පෙනේ:

package com.tutorialspoint.java;

    /**
     * Created by mda21185 on 15-6-2016.
     */

    public class CommandLine {
        public static void main(String args[]){
            for(int i=0; i<args.length; i++){
                System.out.println("args[" + i + "]: " + args[i]);
            }
        }
    }

එවිට ඔබ cdsrc ෆෝල්ඩරයට යා යුතු අතර ඔබට ක්‍රියාත්මක කිරීමට අවශ්‍ය විධානය මේ ආකාරයෙන් පෙනේ:

java com.tutorialspoint.java.CommandLine this is a command line 200 -100

විධාන රේඛාවේ ප්‍රතිදානය වනුයේ:

args[0]: this
args[1]: is
args[2]: a
args[3]: command
args[4]: line
args[5]: 200
args[6]: -100

2
පන්තියක් "CommandLine.class" ලෙස හැඳින්විය නොහැක. එය ජාවා සින්ටැක්ස් දෝෂයකි. (ඔබ අදහස් කරන්නේ සම්පාදනය කරන ලද පන්තිය අඩංගු ගොනුව "CommandLine.class" ලෙස හැඳින්වීමයි ...). අනෙක් ගැටළුව නම් "මූලාශ්‍ර නාමාවලියට සීඩී" සඳහා වන ඔබේ උපදෙස් ක්‍රියාත්මක වන්නේ ඔබ කේතය >> << ප්‍රභව නාමාවලි ගස තුළට සම්පාදනය කළහොත් පමණි. අවසාන වශයෙන්, ඔබේ සම්පාදනය "-cp" තර්කයක් භාවිතා කළේ නම්, ඔබ ධාවනය වන විට ඔබට සමාන ප්‍රමාණයක් අවශ්‍ය වේ.
ස්ටීවන් සී

මගේ ව්‍යාපෘතියේ මූලයේ src ෆෝල්ඩරය සහ බින් ෆෝල්ඩරය ඇත. මට සිදු විය cdබවට srcපසුව මෙම විධානය ක්රියාත්මක java ../bin com.blah.blah.MyClassමා වෙනුවෙන් වැඩ කරන. ඉතින් ඔත්තුවට ස්තූතියි!
tamj0rd2

3

වින්ඩෝස් පවර්ෂෙල් හි ප්‍රචාරය කර javaඇති පරිදි -cpවිකල්පය සමඟ ධාවනය කරන විට ඔබට පෙනෙන ආකාරයට දෝෂයක් ඇතිවිය හැකිය:

The term `ClassName` is not recognized as the name of a cmdlet, function, script ...

පවර්ෂෙල් විධානය පිළිගැනීමට නම්, -cpවිකල්පයේ තර්ක පහත දැක්වෙන පරිදි උපුටා දැක්වීම්වල අඩංගු විය යුතුය:

java -cp 'someDependency.jar;.' ClassName

මේ ආකාරයට විධානය සැකසීමෙන් ජාවා විසින් පන්ති මාර්ග තර්ක නිවැරදිව සැකසීමට ඉඩ දිය යුතුය.


3

ජාවා මොන්ගෝ ඩීබී ජේඩීබීසී සම්බන්ධතාවයක් පරික්ෂා කිරීමේදී මම ද එවැනිම දෝෂයන්ට මුහුණ දුන්නා. මගේ අවසාන විසඳුම කෙටියෙන් සාරාංශ කිරීම හොඳ යැයි මම සිතමි, එවිට අනාගතයේදී ඕනෑම කෙනෙකුට සෘජුවම විධාන දෙක පිළිබඳව සොයා බැලිය හැකි අතර තවදුරටත් ඉදිරියට යාමට හොඳ වනු ඇත.

ඔබගේ ජාවා ගොනුව සහ බාහිර පරායත්තතා (JAR ගොනු) පවතින නාමාවලියෙහි ඔබ සිටින බව උපකල්පනය කරන්න.

සම්පාදනය කරන්න:

javac -cp mongo-java-driver-3.4.1.jar JavaMongoDBConnection.java
  • -cp - පන්ති පථ තර්කය; සියලු යැපෙන JAR ගොනු එකින් එක පසු කරන්න
  • * .java - මෙය ප්‍රධාන ක්‍රමයක් ඇති ජාවා පන්ති ගොනුවයි. sdsd

ධාවනය:

java -cp mongo-java-driver-3.4.1.jar: JavaMongoDBConnection
  • සියලු පරායත්තතා JAR ගොනු අවසන් වූ පසු කරුණාකර මහා බඩවැලේ (යුනික්ස්) / කොමාව (වින්ඩෝස්) නිරීක්ෂණය කරන්න
  • අවසානයේ, කිසිදු දිගුවක් නොමැතිව ප්‍රධාන පන්තියේ නම නිරීක්ෂණය කරන්න (.class හෝ .java නැත)

මේ සියල්ල උපකල්පනය කරන්නේ 1) JavaMongoDBConnectionපැකේජයක් නොමැති බවත්, 2) ඔබ නාමාවලිය වෙනස් නොකරන බවත්ය. එය අවම වශයෙන් කිවහොත් බිඳෙන සුළුය. ගැටළු පැහැදිලි නොකිරීමෙන්, එය ක්‍රියාත්මක නොවන අවස්ථාවන්හිදී මෙම ප්‍රවේශය අත්හදා බැලීමට නවකයන්ට මඟ පෙන්වනු ඇත . කෙටියෙන් කිවහොත්, එය "වොඩූ ක්‍රමලේඛන ශිල්පීය ක්‍රම" දිරිමත් කරයි: en.wikipedia.org/wiki/Voodoo_programming
ස්ටීවන් සී

3

හරි, දැනටමත් බොහෝ පිළිතුරු ඇත, නමුත් ගොනු අවසරයන් වැරදිකරු විය හැකි අවස්ථාව කිසිවෙකු සඳහන් කර නැත.

ධාවනය වන විට, පරිශීලකයෙකුට JAR ගොනුවට හෝ මාර්ගයේ එක් නාමාවලියකට ප්‍රවේශ විය නොහැක. උදාහරණයක් ලෙස, සලකා බලන්න:

භාජන ගොනුව /dir1/dir2/dir3/myjar.jar

JAR ගොනුව හිමි පරිශීලක 1 ට කළ හැක්කේ:

# Running as User1
cd /dir1/dir2/dir3/
chmod +r myjar.jar

නමුත් එය තවමත් ක්‍රියාත්මක නොවේ:

# Running as User2
java -cp "/dir1/dir2/dir3:/dir1/dir2/javalibs" MyProgram
Error: Could not find or load main class MyProgram

මෙයට හේතුව ධාවනය වන පරිශීලකයාට (පරිශීලක 2) dir1, dir2, හෝ javalibs හෝ dir3 වෙත ප්‍රවේශය නොමැති වීමයි. පරිශීලක 1 ට ලිපිගොනු දැකිය හැකි විට එය යමෙකුට නීරස විය හැකි අතර ඒවාට ප්‍රවේශ විය හැකිය, නමුත් දෝෂය තවමත් පරිශීලක 2 සඳහා සිදු වේ.


2

මෙය කිරීමෙන් පසු මට මෙම දෝෂය ඇතිවිය mvn eclipse:eclipse මෙය මගේ .classpathගොනුව ටිකක් අවුල් කළේය .

සිට රේඛා වෙනස් කිරීමට සිදු .classpathවිය

<classpathentry kind="src" path="src/main/java" including="**/*.java"/>
<classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>

වෙත

<classpathentry kind="src" path="src/main/java" output="target/classes" />
<classpathentry kind="src" path="src/main/resources" excluding="**"  output="target/classes" />

2

මෙහි දක්වා ඇති විසඳුම් සමඟ මෙම ගැටළුව විසඳීමට මට නොහැකි විය (ප්‍රකාශිත පිළිතුර මගේ සංකල්ප ඉවත් කර ඇති බවට සැකයක් නැත). මම මෙම ගැටලුවට දෙවරක් මුහුණ දුන් අතර සෑම අවස්ථාවකම මම විවිධ විසඳුම් අත්හදා බැලුවෙමි (සූර්යග්‍රහණ IDE හි).

  • පළමුවෙන්ම, mainමගේ ව්‍යාපෘතියේ විවිධ පංතිවල විවිධ ක්‍රම මට හමු වී තිබේ . ඉතින්, මම මකා දැමුවාmain පසුව ක්රම වලින් ක්රමය .
  • දෙවනුව, මම පහත විසඳුම උත්සාහ කළෙමි:
    1. මගේ ප්‍රධාන ව්‍යාපෘති නාමාවලිය මත දකුණු ක්ලික් කරන්න.
    2. ප්‍රභවයට යන්න ඉන්පසු පිරිසිදු කර සුපුරුදු සැකසුම් සමඟ අවසන් කර අවසන් කරන්න. සමහර පසුබිම් කාර්යයන් පසු ඔබව ඔබේ ප්‍රධාන ව්‍යාපෘති නාමාවලිය වෙත යොමු කරනු ඇත.
    3. ඊට පසු මම මගේ ව්‍යාපෘතිය වසා දමා, එය නැවත විවෘත කර, උත්පාතයෙන්, අවසානයේ මගේ ගැටලුව විසඳුවා.

1
mainක්‍රම මකා දැමීමෙන් ගැටලුව විසඳෙන්නේ නැත. බහුවිධ පිවිසුම් ස්ථාන ඇති යෙදුමක තාක්ෂණික වශයෙන් වැරැද්දක් නොමැත.
ස්ටීවන් සී
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.