发表于: 2018-05-19 23:02:02
2 1260
今天完成的事情:
1.解决中文乱码的方法
①首先是编辑器的乱码,这个很好解决,file->settings->appearence里面有个Name设置成支持中文的字 体,同样还要再settings中的Eidtor->color&fonts里面设置字体编码格式,一般都是UTF-8,GBK什么的也行。
②再来的就是比较头疼的地方,虽然我没遇到,但是在我查资料的时候发现好像许多人都遇到这个问题,姑且也就写上:就是控制台输出是乱码,比如:System.out.println("中文");执行这句话控制台输出乱码,这个问题在configurations中的VM options里
加上-Dfile.encoding=UTF-8,就好了,这种问题是操作系统不是中文环境导致的。
③最后就是我遇到的问题啦,就是所有配置都没问题,但是仍然输出乱码,这个时候只有一种解释:IDEA把你的字体编码弄错了,但是在哪里弄错的呢。经过多次排查寻找,终于,在项目的目录下有个.idea的文件夹,这个文件夹里有个encodings.xml的文件。
2.运行JAR包 提示没有主清单属性解决办法
一般遇见这种问题是因为JAR包中的META-INF文件夹下的MANIFEST.MF文件缺少定义jar接口类。就是缺少默认运行的Main类。
解决办法:
手动加上运行的类(Main-Class属性)
打开MANIFEST.MF文件夹
可以看到文件中缺少Main-Class: 就是缺少运行的类
这时候我们可以手动加载,在最后行加入一条信息
格式:Main-Class: 包名 类名
(ps:Main-Class:后面有空格 类名后面不加.class)
然后保存 调用java -jar xxx.jar 运行即可
3.一个jar包里有多个main,指定运行某一个main
如果一个jar中含有多个主程序,而你没有配置默认主程序,或者想要运行指定主程序,则可以通过如下命令执行:
java -cp springmybatismission1-1.0-SNAPSHOT.jar com.system.test.UserController
-cp <目录和 zip/jar 文件的类搜索路径>
springmybatismission1-1.0-SNAPSHOT.jar jar包
com.system.test.UserController 指定的主程序类
明天计划的事情:
1.继续研究今天遗留的问题
2.了解package和install命令的具体含义
3.争取明天在服务器上跑通一个jar包
遇到的问题:
1.idea里面运行程序时,汉字变成乱码
设置里面都是UTF-8,有点懵逼,查了好久未果,我把汉字重打了一遍,恢复正常了(什么鬼?)
2.我idea运行程序增删改查都没问题,打包后用cmd运行报错,我再回idea运行一下也报错了???检查后终于发现UserDao.xml里面
<delete id="deleteUser" parameterType="int">
DELETE FROM student WHERE id=#{id}
</delete>
而User里是
private Integer id
把 parameterType="int"改成 parameterType="integer"成功跑通!
3.还是同一个程序,idea运行没问题,但是install后,再运行就报错,
Could not find resource com/system/dao/UserDao.xml
如果再clean一遍再跑,又能跑通了。暂时还不知道什么原因,再想想
收获:
1.知道了三种解决中文乱码的方法
2.了解了jar包运行失败的原因之一是可能缺少默认运行的Main类
3.知道了如何指定运行某一个main
评论