java
Contents
5. 临时代码测试类 6. jshell连接DB
- 1. run jar
- 2. 更新jar包内class文件
- 3. IllegalArgumentException at java.nio.CharBuffer.allocate(CharBuffer.java:334)
- 4. 欧元分隔符输出
run jar
主类必须是在cp第一个包中,支持*
匹配
更新jar包内class文件
jar uvf hadoop-common-2.8.3-lg.jar org/apache/hadoop/fs/FileUtil.class
jar: 包是Java中所特有一种压缩文档
-u 添加文件到jar包中
-v 生成详细的报造,并输出至标准设备
-f 指定jar包的文件名
[jar文件] jar包的路径
[欲替换的class(注意,需同样的目录)] class文件目录,必须与jar中目录一样
IllegalArgumentException at java.nio.CharBuffer.allocate(CharBuffer.java:334)
原因: 单行数据过大
问题复现:
1 | // spark-shell + 本地,触发上述报错,获得文件和行号 |
欧元分隔符输出
目标:输出GB2312编码的欧元符€
方案:需要使用byte方式写出:(不能是char、string)
1 |
|
https://ask.csdn.net/questions/743012
Python:以wb模式打开文件
1 | f.write(b'\x80') |
临时代码测试类
1 | package test; |
1 | javac DbInfo.java |
jshell连接DB
还需要加载jar包:
- jshell –class-path myOwnClassPath
- /env –class-path /data/soft/zeppelin/local-repo/jdbc/hive-jdbc-2.3.10-standalone.jar
1 | import java.sql.Connection; |