zoukankan      html  css  js  c++  java
  • javac 编译引用外部指定jar包进行编译和执行编译后的class文件

    1.libs新建文件夹存放依赖所有jar包

    2.cmd 执行:

    2.1

    javac -encoding UTF-8 -classpath .;C:UserschenquanIdeaProjectsToylibscommons-codec-1.12.jar;C:UserschenquanIdeaProjectsToylibscommons-lang3-3.9.jar -d . C:UserschenquanIdeaProjectsToysrc estSignNatureTest.java

    2.2

    javac -encoding UTF-8 -classpath .;C:UserschenquanIdeaProjectsToylibscommons-codec-1.12.jar;C:UserschenquanIdeaProjectsToylibscommons-lang3-3.9.jar -d . C:UserschenquanIdeaProjectsToysrc estSignNatureTest.java

    1. encoding 防止中文乱码
    2. -classpath   指定class文件路径
    3. -d . 会在当前执行目录下生成 一个java所在的包名的(这里我的是test)目录,以及编译后的class文件
    4. 指定要被编译的java文件
    

      3.运行编译的class文件:最开始一直报无法找到主类问题,郁闷,后面查了下资料发先这个要带class文件的package的包名(这里是test)与python  -m  moudle.class.method 雷同,简直了哈哈哈

     3.优化,由于依赖包很多,不可能每个都敲上去吧:

    path_jars 可以是相对路径也可以是绝对路径

    java  -Djava.ext.dirs=path_jars  package.className

    java -Djava.ext.dirs=C:UserschenquanIdeaProjectsToylibs test.SignNatureTest

    java -Djava.ext.dirs=./    test.SignNatureTest

    C:UserschenquanIdeaProjectsToylibs>java -Djava.ext.dirs=./ test.SignNatureTest
    &k1=values1&k2=33
    MD5string is: 832c599beef71cce2ca7e3953b4dc5fb2019-08-03 19:23:02

     4.批量依赖编译:

    javac -encoding UTF-8  -Djava.ext.dirs=./ -d . C:UserschenquanIdeaProjectsToysrc estSignNatureTest.java

    javac -encoding UTF-8  -Djava.ext.dirs=./  C:UserschenquanIdeaProjectsToysrc estSignNatureTest.java

    发现一个有趣的事情: 不指定classpath 和 d .生成的位置会默认到.java所在包下面:

    致谢这些良心博主:https://blog.csdn.net/yiluoAK_47/article/details/81975536

    https://blog.csdn.net/tuohuang0303/article/details/84304995

    https://blog.csdn.net/myfmyfmyfmyf/article/details/53179395

    以上都是命令行操作对于IDEA其实已经有了手动编译的功能,只不过要求你手动配置libarary解决代码引用jar包类,在进行recompile:

      

    linux test:

    javac -encoding UTF-8 -Djava.ext.dirs=./ -d . ./SignNatureTest.java
    echo compile finished,generate .class under package test at curdir
    java -Djava.ext.dirs=./ test.SignNatureTest
    echo run sign.class success !!!

  • 相关阅读:
    C语言头文件stdarg.h(cstdarg)
    C语言头文件ctype.h(cctype)
    内存数库库种类
    C#设计模式单件模式(Singleton Pattern)
    vs2005快捷键,vs2008通用
    移动MYSQL数据库经常遇到乱码的问题
    ie6 ie7 ie8 共存以及Firefox浏览器CSS兼容写法
    用正则表达式替换a标记href值
    IE6 PNG透明终极解决方案(打造W3CfunsIE6PNG最强帖)
    IE的hack
  • 原文地址:https://www.cnblogs.com/SunshineKimi/p/11295845.html
Copyright © 2011-2022 走看看