zoukankan      html  css  js  c++  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
  • 相关阅读:
    finally 到底是什么时候执行的问题
    转发与重定向
    java中的常量池
    数据库优化之设置fetchSize
    java集合去重和排序
    jdbc连接数据库
    重写和重载的区别
    <? extends E>和<? super E> 的意义和区别
    入栈和出栈规律
    JAVA中poi操作excel合并单元格的技巧,以及easypoi,注解@Excel的操作
  • 原文地址:https://www.cnblogs.com/tiandsp/p/7467871.html
Copyright © 2011-2022 走看看