同时加载编译多个jar包和java文件
在个人平常使用或者当我们把代码部署到linux服务器上的时候,我们经常需要通过命令行编译和运行java文件,网上关于这个的方法大多是通过
javac -cp filePath/jarName.jar javaName.java
这种方法。但是加入在filepath文件夹下面有好几个jar包,在src文件夹中有好几个java文件的时候,这个方法就很笨拙了,我在网上看的资料非常乱,其实下面一个非常简单的指令就可以解决了:
javac -Djava.ext.dirs=filePath *.java//注意这里只需要指定到jar包所在的文件夹就可以了
其中*.java
表示可以一次编译所有的java文件。
把编译文件放到指定目录
如果想要把编译后的文件放到指定目录,只需要在java文件后加上 -d outputFilePath
就可以了,例如下面:
javac -Djava.ext.dirs=filePath *.java -d outputFilePath
执行java文件
执行java程序页是同样,只需要把javac
换成java
,后面写上主函数所在的java文件的名称就可以了,不用加后缀。例如下面
javac -Djava.ext.dirs=filePath MainJavaName
如果想要把编译后的文件放到指定目录,只需要在java文件后加上 -d outputFilePath
就可以了
实例演示
我们以实际例子来演示
在ServerProgram文件夹下面有个Labrary文件夹,里面有多个jar文件,Src是源文件包,里面有三个java文件,Output文件夹是我想输出编译文件的地方,
编译过程
//首先进入Src文件夹
javac -Djava.ext.dirs=../Library *.java -d ../Output
//指定输出编译文件的位置为上级目录的Output文件夹
执行过程
先进入Output文件夹
//主函数所在文件是Server.java
java -Djava.ext.dirs=../Library Server