最近搜索

java命令行如何编译运行带package(包)的程序

浏览:454
管理员 2022-04-28 05:21
javac test.java
java test



若程序中带package,如test.java

package com.abc;
 
public class test{
    public static void main(String[] args){
        System.out.println("hello");
    }
}
在编译时应使用javac命令加-d选项,会自动生成包的目录,注意-d后面的'.',代表当前目录

javac -d . test.java
而在运行时的用java命令加包的路径,其中com.abc为package打包的目录

java com.abc.test



使用javac 命令 如果报utf-8 错误 这样弄。

什么情况下会有utf-8错误,如果使用的是SpringBoot里面创建的java文件。会有这种错误 utf-8错误。

直接修建的java普通工程默认编码是gbk 直接编译不报错。(javac -d . *.java)


javac -d . *.java  普通java项目 gbk编码


javac -encoding UTF-8 -d . *.java      spring boot项目 utf-8编码





javac编译引用 第三方jar


mkdir classes
javac -classpath .;D:\java18\cstmgr;D:\java18\cstmgr\lib\tools.jar -d D:\java18\cstmgr\classes *.java
javac -classpath .;D:\java18\cstmgr;D:\java18\cstmgr\lib\tools.jar -d D:\java18\cstmgr\classes entity\*.java


mkdir classes
javac -classpath .;D:\java18\cstmgr;D:\java18\cstmgr\lib\tools.jar -d D:\java18\cstmgr\classes *.java
javac -classpath .;D:\java18\cstmgr;D:\java18\cstmgr\lib\tools.jar -d D:\java18\cstmgr\classes entity\*.java

cd classes
java -cp D:\java18\cstmgr\lib\tools.jar; Application
pause


javac -classpath .;D:\123\PrintSrc\lib\*.jar -encoding UTF-8 -d D:\java18\cstmgr\classes *.java



javac -classpath .;D:\123\lib\json-lib-2.4-jdk15.jar -encoding UTF-8 -d . *.java


javac -classpath .;D:\123\lib\httpclient-4.5.jar,.;D:\123\lib\json-lib-2.4-jdk15.jar -encoding UTF-8 -d . *.java

javac -classpath .;D:\123\httpclient-4.5.jar -encoding UTF-8 -d . *.java



还有一种方法就是直接把jar复制到  ext下面。


C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext

C:\Program Files\Java\jre1.8.0_101\lib\ext


image.png


编译通过。

image.png


运行报错。 同样方法 把jar包复制到。jre下面的ext





联系站长

站长微信:xiaomao0055

站长QQ:14496453