精华内容
下载资源
问答
  • 命令行编译java文件(第三方jar包)

    千次阅读 2013-01-18 14:31:32
    1、DOS下 ...注意调用java这个命令的时候,在分号...1:编译:javac Test.java  结果:生产一个 Test.class文件。 2:执行:java Test  结果:在控制台执行。注:Test是main 方法所在类。

    1、DOS下

    注意调用java这个命令的时候,在分号后面有个空格,这个要注意!
    2、Linux下

    一:不引用外部jar

    1:编译:javac Test.java

       结果:生产一个 Test.class文件。

    2:执行:java Test

       结果:在控制台执行。注:Test是main 方法所在类。

    二:引用外部jar

    1:编译:

        cmd 命令引用外部jar包命令。

       javac -cp swt.jar Test.java

       结果:会生产3个文件 Test$1.class,Test$2.class,Test.class。

    2:执行

       对引用外部包的class文件的执行

      java -classpath swt.jar Test

      结果:在控制台执行。并引用外部类。

    三:打jar包

    在当前MANIFEST.MF下执行 命令:jar cvfm test.jar MANIFEST.MF *.*

    注:test.jar 指的是jar包名称,*.*就是将当前目录下所有打进jar。

    假如在class目录外执行需要命令:jar cvfm test.jar MANIFEST.MF test

    注:test 指的是test目录打成jar包。

    展开全文
  • linux命令行编译和运行java文件

    万次阅读 2016-03-03 22:46:41
    同时加载编译多个jar包和java文件在个人平常使用或者当我们把代码部署到linux服务器上的时候,我们经常需要通过命令行编译和运行java文件,网上关于这个的方法大多是通过javac -cp filePath/jarName.jar javaName....

    同时加载编译多个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
    展开全文
  • 由于jdk的版本问题导致在windows上编译打包好的jar包放在...在linux用javac命令行进行编译3.用maven,ant等项目管理工具经试验,使用方法1确实解决了我遇到的问题,但是太麻烦。这里记录一下第二种方法,第三种方法...

    由于jdk的版本问题导致在windows上编译打包好的jar包放在linux服务器上运行的时候出现一点小异常,所以决定在linux上进行一次项目编译,这有两个选择
    1.在相同的linux环境下安装linux版的eclipse 进行编译
    2.在linux用javac命令行进行编译
    3.用maven,ant等项目管理工具
    经试验,使用方法1确实解决了我遇到的问题,但是太麻烦。
    这里记录一下第二种方法,第三种方法。。我也不会使用。

    目录结构是这样的:
    ├── lib
    └── src
        ├── com
        │   └── xxx
        └── org
            └── json

    lib下面有依赖的库
    src下面是源文件

    用javac编译的步骤:
    1.先找出所有需要编译的java文件并保存到文件列表到javaFiles.txt
    find src -name \*.java >javaFiles.txt
    2.使用javac进行编译,因为源代码依赖lib里面的库,所以需要指定classpath参数
    javac -d bin-cp .:./lib/*  @.javaFiles.txt
    -d指定输出目录  -cp指定classpath为当前目录和lib目录下面所有的库文件   @后面指定需要编译的文件列表


    3.使用jar进行打包
    先进入class文件的目录
    cd bin
    jar -cp  xxx.jar  com  org   这样就把class文件打包成jar包了

     


    原文:https://blog.csdn.net/sdcxyz/article/details/45076321
    版权声明:本文为博主原创文章,转载请附上博文链接!

    转载于:https://www.cnblogs.com/williamjie/p/10649121.html

    展开全文
  • Linux下用命令行编译运行Java总结

    万次阅读 多人点赞 2018-05-11 18:05:45
    最近使用腾讯云的Cloud Studio写Java,只能使用命令行进行编译运行,趁此机会,学习一下Linux的一些常用命令。...javac用于编译java源文件,生成.class文件。形式如下 javac [option] source 常用的option...

    最近使用腾讯云的Cloud Studio写Java,只能使用命令行进行编译运行,趁此机会,学习一下Linux的一些常用命令。平时windows下IDE用习惯了,现在用命令行进行编译运行,发现其实问题还是挺多的,所以写下这篇文章。


    1.javac命令行

    javac用于编译java源文件,生成.class文件。形式如下

    javac [option] source
    

    常用的option选项有如下

    -classpath <路径>(可以简写成 -cp):指定要使用的类路径或要使用的jar包的路径。

    -d <路径>:指定源文件编译后生成的.class文件的存放位置。


    2.java命令行

    java用于运行生成的.class文件。形式如下

    java [option] classname [arguments]
    

    常用的option选项有如下

    -classpath <路径>(可以简写成 -cp):指定要使用的类路径或要使用的jar包的路径。

    [arguments]:传递给main函数的参数。


    3.编译运行一个单独的Java文件

    在test文件夹下有一个Test.java文件,结构如下
    这里写图片描述
    Test.java代码如下

    public class Test { 
        public static void main(String[] args) { 
            System.out.println("Hello World!"); 
        }
    }
    

    (1)编译生成的.class文件在当前文件夹下

    // 编译
    javac Test.java
    // 运行
    java Test
    // 输出
    Hello World!
    

    (2)也可以指定编译生成的.class文件的路径,比如生成在当前文件夹下的bin文件夹下

    // 编译
    javac -d ./bin Test.java
    // 运行
    java -cp ./bin Test
    // 输出
    Hello World!
    

    当指定生成的目录后,运行时也得指定相应的目录,不然会找不到文件。
    这里写图片描述


    4.编译运行一个带包的java文件

    这里写图片描述
    Test.java代码如下

    package com.codeliu;
    public class Test { 
        public static void main(String[] args) { 
            System.out.println("Hello World!"); 
        } 
    }
    

    (1)编译生成的.class文件在当前文件夹下

    // 首先得进入到.java文件所在的文件加下,再进行编译
    javac Test.java
    // 退出到最外层包,再运行,否则找不到文件
    java com.codeliu.Test
    // 输出
    Hello World!
    

    对于在包下的文件,如果编译后直接运行,会找不到文件,必须得退出到最外层包,然后使用完整的包名+文件名进行运行。
    这里写图片描述
    (2)指定.class文件的生成路径,使用IDE自动编译的时候,我们可以看到源文件一般在src文件夹下,而.class文件在bin文件夹下,这是因为JVM指定了.class文件的路径。

    // 编译,生成在与最外层包同级的bin文件夹下,首先退出到最外层包
    javac -d ./bin com/codeliu/*
    // 运行(windows中把:改成;),-cp表示告诉jvm去该路径下寻找文件
    java -cp bin: com.codeliu.Test
    // 输出
    Hello World!
    

    这里写图片描述


    5.同一个包下,一个类调用另一个类

    这里写图片描述
    在同一个包下有Test01.java和Test02.java,代码如下

    package com.codeliu;
    public class Test01 { 
        public void print() { 
            System.out.println("I'm Test01"); 
        }
    }
    
    package com.codeliu;
    public class Test02 { 
        public static void main(String[] args) { 
            Test01 t = new Test01(); t.print(); 
        }
    }
    

    因为Test02引用了Test01,所以我们得先编译Test01,再编译Test02。

    // 编译Test01.java,生成的.class文件在当前文件夹下,首先得进入到文件所在的文件夹下,然后进行编译
    javac Test01.java
    // 退出到包的最外层,然后编译Test02.java
    javac -cp . com/codeliu/Test02.java
    // 运行Test02.java
    java com.codeliu.Test02
    // 输出
    I'm Test01
    

    编译Test02的时候,我们使用-cp告诉编译器在当前路径下(.)去寻找Test01.class。

    当然,我们也可以指定.class生成的路径,使用-d即可。
    这里写图片描述


    6.一个包中的类调用另一个包中的类

    文件目录结构如下
    这里写图片描述
    在package1包下有类Test01.java,package2包下有Test02.java。代码分别如下

    package com.package1;
    public class Test01 { 
        public void print() { 
            System.out.println("I'm Test01"); 
        }
    }
    
    package com.package2;
    import com.package1.Test01;
    public class Test02 { 
        public static void main(String[] args) { 
            Test01 t = new Test01(); 
            t.print(); 
        }
    }
    

    还是同样,得先编译Test01.java。

    // 编译Test01.java,指定生成的路径是test文件夹下的bin文件夹下
    javac -d ./bin com/package1/*
    // 编译Test02.java,-cp告诉编译器去当前文件夹下的bin文件夹下找Test01.class,-d指定生成的路径
    javac -cp bin: -d ./bin com/package2/*
    // 运行Test02
    java -cp bin: com.package2.Test02
    // 输出
    I'm Test01
    

    这里写图片描述


    7.运行一个工程

    我们平时的项目肯定不可能是这么简单的,肯定有好多包和以及jar包,这样的情况下,我们使用shell脚本去编译它们。

    等下吃完饭举个栗子。


    温饱思淫欲,吃饱了我就不想写了。暂时先不写了,俺得学习其他的知识了。

    个人网站https://www.codeliu.com,欢迎各位志同道合的盆友!

    关注微信公众号:秃头哥编程(ID:xp_1311664842),领取编程大礼包。
    在这里插入图片描述

    展开全文
  • 编译的时候需要某些包,使用javac -classpath ... javac -classpath lib/*.jar ./src/Hello.java -d bin/ 运行的时候需要外部jar的class,使用-Djava.ext.dirs 来指定第三方包的路径 java -Djava.ext.dirs=../lib ...
  • 有时候需要测试某个东西,在eclipse中写的话有点太笨重,这时候直接用文本工具写代码然后在命令行编译就挺方便了。 假设java文件名为Demo.java 如果不需要依赖其它jar包直接 #编译 javac Demo.java #执行class文件 ...
  • linux命令行编译和运行多个java文件
  • 今天在使用命令行编译时遇到些问题,顺便又仔细分析了一些基础知识,记录总结一下。 下面使用javac和java命令都是在 D:\Workspace\java目录下执行的: 1 //Inner.java 2 package cn.inner; 3 public class ...
  • linux命令行编译、执行java

    千次阅读 2016-12-17 12:20:37
    如果类在包中,需要在执行javac的目录中有preprocess目录,并且将java文件放在该目录下,在preprocess同级目录下执行下面命令: 编译:javac ./preprocess/CorpusWordSeg.java 运行:java -cp . preprocess/...
  • (1) javac:作用:编译java文件;使用方法: javac Hello.java ,如果不出错的话,在与Hello.java 同一目录下会生成一个Hello.class文件,这个class文件是操作系统能够使用和运行的文件。 (2) java: 作用:运行...
  • 用javac命令行编译多个java文件

    千次阅读 2018-03-15 11:48:48
    用javac命令行编译多个java文件CLASSPATH一定要具体到jar路径,例如1export CLASSPATH=/usr/lib/jvm/java-6-sun/lib/commons-codec.jar:/usr/lib/jvm/java-6-sun/lib/commons-httpclient-3.1.jar:/usr/lib/jvm/java-...
  • 以前一直用Eclipse来运行Java程序,从未在命令行编译运行过Java文件。直到最近某次运行别人写的bat文件时,出现“Could not find or load main class …“错误才开始了解如何通过命令行编译运行Java文件。本文...
  • linux命令行编译执行java程序

    千次阅读 2014-09-03 22:29:18
    之前在windows下我们配置jdk后在DOS下能够很好编译执行java程序。就想着试图在linux下也能实现同样方式。由于之前用的是系统自带的openjdk,实验几次都是失败。于是又装了新的jdk。真的实现了!这样可以不用装...
  • java命令行编译运行多个java文件

    万次阅读 2016-06-11 23:02:30
    1. linux 2. 有两个java类,A.java和B.java,都在同一个目录下 二.源码: A.java package com.abc; public class A { public static void test() { System.out.println("A:test()"); } } B
  • linux2. 有两个java类,A.java和B.java,都在同一个目录下二.源码:A.javapackage com.abc; public class A { public static void test() { System.out.println("A:test()"); } }B.javaimport ...
  • 在命令里编译和执行java文件,当应用程序需要需要依赖的jar包里面的class文件才能编译运行的时候,应该这样做:  1、 首先是编译过程,在命令行里面执行:  javac -classpath ClassPath Test.java //其中...
  • 然后与linux不同,我们采用dir来显示当前目录文件。同时,tab键仍然有补全的功能。 查找java版本号是java -version 查找路径是java -verbose. 包是一种对java中的类进行目录分装的机制,一般用pa...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 64,236
精华内容 25,694
关键字:

linux命令行编译java文件

java 订阅
linux 订阅