zoukankan      html  css  js  c++  java
  • 在Linux下运行引入了外部jar包的java程序

    如图:H.java里引入了commons-io-2.2.jar

    代码如下:

    import org.apache.commons.io.IOUtils;
    public class H{
        public static void main(String[] args){
            String[] a = { "/bin/sh", "-c","iptables -nvL --line"};
            process1(a);
        }
        public static void process1(String[] cmdarray) {
            try {
                final Process p = Runtime.getRuntime().exec(cmdarray);
                String info = IOUtils.toString(p.getInputStream());
                String error = IOUtils.toString(p.getErrorStream());
                System.err.println(info);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    编译:

    javac -cp ./commons-io-2.2.jar H.java 

    运行

    [root@localhost javarun]# java -cp $CLASSPATH:commons-io-2.2.jar H
    Chain INPUT (policy ACCEPT 2348K packets, 254M bytes)
    num   pkts bytes target     prot opt in     out     source               destination         
    1        3   152 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:8080 
    2        3   152 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:1111 
    
    Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
    num   pkts bytes target     prot opt in     out     source               destination         
    
    Chain OUTPUT (policy ACCEPT 1805K packets, 179M bytes)
    num   pkts bytes target     prot opt in     out     source               destination         
    1        3   120 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:8080 

    复制一个网络教程:

    1、将外部jar包(javacsv.jar)放在Linux路径下面。
    如/home/cys/lib
    2、将需要编译的java文件(CsvTest.java)放在Linux路径。如/home/cys/test
    3、编译已经写好的java文件,命令如下:
    javac -cp /home/cys/lib/javacsv.jar /home/cys/lib/CsvTest.java
    生成CsvTest.class文件。
    4、运行程序,命令如下:
    java -cp $CLASSPATH:/home/cys/lib/javacsv.jar:/home/cys/lib/CsvTest CsvTest

    结果运行正确

    需要注意的几点是:
    1、编译的时候,需要使用-cp环境变量来引入外部jar的地址。-cp也可以换成-classpath。
    2、运行过程中,环境变量-cp中一定要加入编译时候生成的class文件的路径。并且用冒号分割

    windows下环境变量是使用引号分割的。但是在Linux下环境变量需要使用冒号分割

    Linux下

  • 相关阅读:
     Go is more about software engineering than programming language research.
    perl 处理json 数组格式
    perl 处理json 数组格式
    mongodb 限制ip访问
    mongodb 限制ip访问
    haproxy 访问www.zjdev.com 自动跳转到appserver_8001 对应的nginx
    haproxy 访问www.zjdev.com 自动跳转到appserver_8001 对应的nginx
    docker 数据盘映射方案
    docker 数据盘映射方案
    perl encode_utf8 和decode_utf8
  • 原文地址:https://www.cnblogs.com/xiaoliu66007/p/11096291.html
Copyright © 2011-2022 走看看