1. 程式人生 > >java“找不到或無法載入主類”及編碼錯誤問題

java“找不到或無法載入主類”及編碼錯誤問題

先給出具體程式碼(當前目錄為:D:\pro):

package org.test;
public class TestJava{
    public static void main(String args[]){
        System.out.println("Hello World!!!");
        System.out.println("你好,Java!!");
    }
}

1、 cmd 視窗執行時出現“找不到或無法載入主類”問題:

D:\pro>javac TestJava.java

D:\pro>java TestJava
錯誤: 找不到或無法載入主類 TestJava

出現這種問題的主要原因是程式中有package即包的存在。所以,我們有兩種方法對包進行處理。
(1)手動新建包的目錄:
如在當前目錄下新建:(d:\pro)–>org–>test
然後把編譯生成的TestJava.class檔案移動到d:\pro\org\test目錄下,
此時再執行java org.test.TestJava
就可以輸出正確結果了。


D:\pro>javac TestJava.java

D:\pro>java org.test.TestJava
Hello World!!!
你好,Java!!

(2)自動建立包的目錄:
執行程式碼:

 javac -d . TestJava.java
 java org.test.TestJava

(注意:”-d . “這個點的前面是有空格的,否則還是執行還是有問題的。)也能輸出正確結果:


D:\pro>javac -d . TestJava.java

D:\pro>java org.test.TestJava
Hello World!!!
你好,Java!!

2、 cmd視窗執行時出現亂碼問題:
因為我們的系統大多是中文系統,而不少程式設計軟體都是英文編譯環境,所以,當執行含有中文的程式碼時,容易出現亂碼問題,這時候需要改變程式碼的編碼就行了。


D:\pro>javac -d . TestJava.java
TestJava.java:4: 錯誤: 編碼GBK的不可對映字元
 * @date Time: 2016?4鏈?22鏃ヤ笅鍗?3:07:49
                    ^
TestJava.java:4: 錯誤: 編碼GBK的不可對映字元
 * @date Time: 2016?4鏈?22鏃ヤ笅鍗?3:07:49
                       ^
TestJava.java:4: 錯誤: 編碼GBK的不可對映字元
 * @date Time: 2016?4鏈?22鏃ヤ笅鍗?3:07:49
                              ^
3 個錯誤

所以這個時候需要改變中文的gbk 編碼為utf-8編碼:
程式碼:java -encoding UTF-8 TestJava.java


D:\pro>javac -encoding UTF-8 -d . TestJava.java

D:\pro>java org.test.TestJava
Hello World!!!
你好,Java!!

從上面的程式碼也可以看出來,當程式既帶有包,且還編碼不對時,我們也可以一次性解決。

相關推薦

java無法入主編碼錯誤問題

先給出具體程式碼(當前目錄為:D:\pro): package org.test; public class TestJava{ public static void main(String args[]){ System.out.

java 命令列執行時報錯:無法入主

原始碼如下: 路徑目錄(...\src\object) 1 //: ch1.10/Command.java 2 /**@author feilong 3 * @version 1.0 4 */ 5 package object; 6 import java.util.*; 7 8

mac終端下執行java檔案報錯:無法入主

由面試題出來的 為了顯示 myStr = 23 這樣的結果,寫出在控制檯輸入的命令 public class MyClass { public static void main(String args[]) { String s1 = args[0]; String s2 = args[

Linux下Java執行.class檔案,報錯無法入主

classpath配置的錯誤,所以找不到.class檔案。 原先的etc/profile中的classpath配置 export CLASSPATH=$JAVA_HOME/lib/tools.jar   更改後的: export CLASSPATH=.:$JAVA_HOME

java 錯誤: 無法入主 Solution.class

Solution.java檔案中 public class Solution { public static void main(String[] args){ String str = "abcabcbb"; System.out.println(lengthOfLo

關於'java' 是內部外部命令,也是可執行的程式 批處理檔案 和 錯誤: 無法入主 helloworld的問題

一、前幾天電腦重灌了一次系統將java配置的環境變數都弄沒了,自己添加了兩個新的變數JAVA_HOME(自己jdk的地址)以及在path中新增%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 然後因為這幾天都是用eclipse進行程式設計的,沒有出現問題,今天用命令來測試,發現出現了

cmd下java命令報錯 無法入主(已解決)

解決辦法: 執行步驟:把檔案目錄轉換到目標Demo.java檔案所在目錄→執行 javac Demo.java 命令(會看到目錄下生成新的Demo.class檔案)→接著執行 java Demo 命令。 第一步轉換目錄是必須的(雖然把Demo.java移到 jdk的bin資料夾下,使java

java Text 錯誤: 無法入主 Text

找不到主類是因為classpath配置錯誤。 是環境變數的問題,看看你的path和classpath是否是正確的,最可能的錯誤是classpath中少了前面少了.; classpath的配置必須遵循以下規則: .;%JAVA_HOME%\lib   我佛了,為什麼非要加&nbs

記一次解決cmd中執行java提示"無法入主"的問題

今天遇到一個問題:在cmd命令列中,用javac編譯java檔案可以成功,但是用java執行卻提示“找不到或無法載入主類”。現將該問題的原因以及解決辦法記錄一下。 先理解一下系統變數path和classpath的作用。 path:可執行命令的搜尋路徑,在該路徑下搜尋可以執行的程式或批處理檔案。   命令

錯誤: 無法入主 -java(7)

問題描述 最近在做java程式時,在java檔案所在目錄下執行javac可以生成class檔案,但是繼續執行java命令提示錯誤: 找不到或無法載入主類. 問題截圖 這是javac命令成功運行了,包為javanet, 其中有兩個java檔案Server.java和Client.ja

錯誤: 無法入主 book.sea.Application.java

在D:\delete\1000\book\sea檔案加下面新建兩個java檔案,分別是: package book.sea; public class Friend{     int money;//預設是default,只能在包內進行訪問   

記一次使用cmd執行java檔案遇到的坑...包括“使用java命令執行class檔案提示“錯誤無法入主“的問題”

  今天寫了一個java檔案,類似聊天軟體的東西。在eclipse裡輸入輸出顯得沒感覺,於是乎就準備在cmd裡輸入和顯示輸出。如下圖,我準備執行的是ChatDemo.class檔案。路徑是:D:\workspace\Learn\bin\com\udp 。      然後我就開啟cmd,傻傻的輸入:cd D

Java程式報錯:“無法入主”的解決方法

執行很簡單的java程式,就是在命令列中執行java HelloWorld,結果報錯:“找不到或無法載入主類”,通過上網查詢資料,有些資料上說是CLASSPATH值設定的有問題,最前面要有一個點才行,結

Java環境變數配置--解決“無法入主

     最近又又又又重灌系統了。。全部格盤的中毒經歷簡直慘痛!!JDK安裝成功之後,配置好環境變數之後寫了一個Helloworld測試沒有問題了,但是在敲一個容器例子的時候,發生了下面的問題。  

用cmd命令列編譯JAVA程式時出現“無法入主

檢查環境變數配置: JAVA_HOME:D:\Java\jdk1.8.0_91 CLASSPATH:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(前面有英文點號) Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

Java命令報錯——無法入主

Javac命令 javac命令,編譯原始檔.java,產生二進位制.class檔案。這個命令是有javac編譯器實現的,執行時會去查詢類。我們都會在環境變數中設定classpath,這個類路徑就是javac命令查詢檔案的順序。 例如classpath設定為: $JAVA_HOME/

java環境變數設定 無法入主 com.sun.tools.javac.Main

安裝jdk1.7後,環境變數設定了,java,java -version 沒事,但javac不能用:找不到或無法載入主類 com.sun.tools.javac.Main  明顯是缺少jar,網上好

java報錯-無法入主(Error: Could not find or load main class)

文章目錄 CLASSPATH配置問題 package問題 解決方法1:刪除package宣告 解決方法2:指定包名 比如說test.java package test; public

java helloworld 錯誤: 無法入主

在命令列裡面執行java的class檔案時,提示錯誤: 找不到或無法載入主類 ; 環境變數ClassPath存在問題 原來的環境變數:%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar; 在原來的環境變數前加上.;後解決了問題:.;%JAVA

關於命令列中javac 編譯成功,用 java 執行 class 檔案出現 “ 無法入主 ” 的問題

javac編譯成功,用java執行class檔案出現“找不到或無法載入主類”的問題所在 學習android,順便又學習下java. 在這裡推薦Mars老師的視訊,很好用,無論是Java4Android還是Android開發系列視訊教程都很好http://www.marschen.com/ 入門就遇到這樣的問