java在命令行中编译和运行java

java在命令行中编译和运行java

原文:http://blog.csdn.net/u010900574/article/details/50792353

同时加载编译多个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



相关内容

命令行中编译执行报错提示“找不到或无法加载主类”

  1、没有配置JAVA_HOME和CLASSPATH,只配了Path(D:ProgramJavajdk1.8.0_161in),验证可以编译执行;

  2、java源文件路径:F:workspace0408HelloWorldsrc;

  3、源文件如下:

1 package test;
2 
3 public class HelloWorld {
4     public static void main(String[] args) {
5         System.out.println("Hello World");
6     }
7 }

  4、没有package的时候,在src目录下,执行“javac HelloWorld.java”,编译通过,执行“java HelloWorld”,输出结果正确;

  5、有package的时候,在src目录下,执行“javac HelloWorld.java”,编译通过,执行“java HelloWorld”,输入报错提示:“找不到或无法加载主类HelloWorld”;

  6、在src目录下,添加文件夹,文件夹名为package名test,将执行“javac HelloWorld.java”编译所得class文件放入其中,再次执行“java test.HelloWorld”,输出结果正确。

赞(1)

文章来源于网络,原文链接请点击 这里
文章版权归作者所有,如作者不同意请直接联系小编删除。