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

2.cmd 执行:

2.1

javac -encoding UTF-8 -classpath .;C:\Users\chenquan\IdeaProjects\Toy\libs\commons-codec-1.12.jar;C:\Users\chenquan\IdeaProjects\Toy\libs\commons-lang3-3.9.jar -d . C:\Users\chenquan\IdeaProjects\Toy\src\test\SignNatureTest.java

2.2

javac -encoding UTF-8 -classpath .;C:\Users\chenquan\IdeaProjects\Toy\libs\commons-codec-1.12.jar;C:\Users\chenquan\IdeaProjects\Toy\libs\commons-lang3-3.9.jar -d . C:\Users\chenquan\IdeaProjects\Toy\src\test\SignNatureTest.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:\Users\chenquan\IdeaProjects\Toy\libs test.SignNatureTest

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

C:\Users\chenquan\IdeaProjects\Toy\libs>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:\Users\chenquan\IdeaProjects\Toy\src\test\SignNatureTest.java

javac -encoding UTF-8  -Djava.ext.dirs=./  C:\Users\chenquan\IdeaProjects\Toy\src\test\SignNatureTest.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 !!!

javac 编译引用外部指定jar包进行编译和执行编译后的class文件的更多相关文章

  1. maven项目引入外部第三方jar包,引入、本地编译、第三方jar一起打到jar中、在linux机器中解决classnotfound(配置classpath),笔记整理。

    文章目录 引用的第三方jar的目录结构(示例) 引入第三方jar进行dependency使项目内能import 本地编译 第三方jar一起打到jar中 在linux机器中解决classnotfound ...

  2. java -jar命令运行jar包时指定外部依赖jar包 linxux or windows

    前尘回顾: setup.bat [chenquan@hostuser tartest]$ cat ../setup.sh javac -encoding UTF-8 -Djava.ext.dirs=. ...

  3. Jdk和Jre目录和三个lib目录说明----外部扩展jar包servlet,mysql,oracle等

    以下文章转载自a personal blog:For Future,因为昨天下午在cmd模式下编译servlet失败,后来在网上找到这篇文章帮我解决了该问题,我觉得挺值得收藏的,并且这篇文章对&quo ...

  4. 字节码 反编译 APKTool 重新打jar包 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  5. Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法

    方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFEST.MF”, 由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目 ...

  6. (转载)Eclipse将引用了第三方jar包的Java项目打包成可执行jar的两种方法

    转载自:http://www.cnblogs.com/lanxuezaipiao/p/3291641.html 方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 "MA ...

  7. 将引用了第三方jar包的Java项目打包成jar文件的两种方法

    方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFEST.MF”, 由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目 ...

  8. eclipse将引用了第三方jar包的java项目打成jar包

    今天用java开发了一个项目,想要打成jar包,并在linux环境下运行.但是运行时引用的第三方jar包却显示classNotFind错误. 于是查了一下解决办法,在此贴出来,方便以后查阅. 用Ecl ...

  9. maven 引用另一个jar包 需要先打包在仓库里面 并在pom里面配置 才可以引用

    maven 引用另一个jar包 需要先打包在仓库里面 并在pom里面配置 才可以引用

随机推荐

  1. MSSQL 打开xp_cmdshell

    sp_configure reconfigure go sp_configure reconfigure go

  2. jvm(3):JVM调优

    typora-root-url: ./ JVM调优思路 目的:减少full GC次数.减少STW时间(一次GC的时间) 手段: 打印GC日志-XX:+PrintGCDetails -XX:+Print ...

  3. 使用命令把SpringBoot项目打包成可运行的jar包(简洁,操作性强)

    前几天接到一个需求,要把原系统中一个数据处理小功能搬出原系统,拉出来单独做一个SpringBoot项目,然后打成jar包扔到Windows服务器上运行,这样数据处理的时候如果遇到堵塞就不至于整个系统都 ...

  4. [lua]紫猫lua教程-命令宝典-L1-01-07. table表

    L1[table]01. table表的定义与赋值 小知识:声明表的例子 xx={}--创建一个空表xx --给这表的元素赋值 test="a" xx[test]="a& ...

  5. RTMP服务器搭建(nginx+rtmp)

    参考文章:https://obsproject.com/forum/resources/how-to-set-up-your-own-private-rtmp-server-using-nginx.5 ...

  6. [AGC027A]Candy Distribution Again

    Description AGC027A 你有一些糖果,你要把这些糖果一个不剩分给一些熊孩子,但是这帮熊孩子只要特定数目的糖果,否则就会不开心,求最多的开心人数. Solution 如果\(\sum a ...

  7. UVA 12097 Pie(二分答案)

    题目链接: 这道题虽然不是一道典型的二分答案题,但同样也可以用二分答案来做. 来二分面积为$area$的派,然后看看条件是否矛盾. 与其矛盾的便是$f+1$个人是否每个人都会有. 一个半径为$r$的派 ...

  8. Jquery判断单个checkbox 是否被选中

    jquery判断checked的三种方法: .attr("checked") .prop("checked") .is(":checked" ...

  9. Spring Boot中快速操作Mongodb

    Spring Boot中快速操作Mongodb 在Spring Boot中集成Mongodb非常简单,只需要加入Mongodb的Starter包即可,代码如下: <dependency> ...

  10. CSS input

    去除激活 input 的默认边框 // 三种方法都能实现 input{ outline: none; outline: medium; outline:; }   修改光标颜色 input{ outl ...