开发第一个java项目的问题总结
2018-03-10 19:40
351 查看
只是一个简单的java项目(第一次把java 代码生成个像样的项目)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/65484920fe08b35c7400d721d365e924)
这里遇到了一个问题:
就是java找文件时有两个方法:一是getClass().getResource("/configuration/config.ini");
二是getClass().getResourceAsStream("/configuration/config.ini");第一个返回的是一个URL对象,在用此对象获得文件路径,进而获得文件流。第二个返回的直接就是inputstream流。这里的问题就是,第一种方法如果把项目打成jar包运行,程序就会找不到ini文件。因为打成jar包后,程序在找文件时的路径会是.jar!/configuration/config.ini。会去jar包下找,并且路径上多一个叹号。点击这里是我查的论坛上讨论的。
方法setFormatter是设置日志记录的格式的。日志还有日志级别知识。博客链接点击打开链接。另有一个log4j使用的博客点击打开链接。
调出cmd界面后,输入jar -help回车就会有帮助提示,基本就明白怎么用了。如图
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/faac5a912e8997d941fc225212122c56)
这里问题是:这样直接打的jar包中的/META-INF/MANIFEST.MF文件中只有两行数据如:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/217c37dc3434b4700606473bcde858bc)
这样你要是想运行包中的main方法是找不到的,这个文件需要自己手动添加一些数据如:Main-Class: 主方法类名。还有其他数据博客点击打开链接。主要要注意的是,每个数据写时不要忘了冒号“:”后面要有一个空格,不然就会出现这样的错误:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/2fbc6da8eddf0e0e8b665ebc70ab1ede)
。
想建一个.bat文件启动java程序。可以创建一个.bat后缀的文本文档,然后这样写:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/001fb011cbd7140ef0262dd0a0c86436)
运行jar包。
或者这样写:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/07/92a617ac1659514ed15a30a07c4af4d8)
运行含main的java。
bat文件知识这有个介绍的挺好的点击打开链接。
一、界面
首先想使程序有个界面,不用太好看。然后就用到了一些基础的swing组件对象:JFrame、JTable、JPanel、JMenuBar、JMenu、JMenuItem;swing布局对象:GridLayout、FlowLayout;以及一些方法:addWindowListener、setMnemonic、setActionCommand、addActionListener。界面比较简单,这里只遇到一个问题:组件JMenu添加ActionListener事件,点击无效。能够添加,不报错,就是无效果。这个组件有一个MenuListener事件,这个添加后可以。二、java项目中使用文本格式的配置文件,如.ini文件。
这里java有一个类可以操作这样的文件:Properties。它其中有一个获取文件的方法是properties.load();需要一个参数,参数可以是inputstrean或是Reader。随后就可以用方法properties.getProperty(key)获取存储的数据了。数据格式一般是这样的:这里遇到了一个问题:
就是java找文件时有两个方法:一是getClass().getResource("/configuration/config.ini");
二是getClass().getResourceAsStream("/configuration/config.ini");第一个返回的是一个URL对象,在用此对象获得文件路径,进而获得文件流。第二个返回的直接就是inputstream流。这里的问题就是,第一种方法如果把项目打成jar包运行,程序就会找不到ini文件。因为打成jar包后,程序在找文件时的路径会是.jar!/configuration/config.ini。会去jar包下找,并且路径上多一个叹号。点击这里是我查的论坛上讨论的。
三使用JNative调用dll文件。
因为项目使用了dll文件,所以就用JNative调用。但是运行时总是报错:java.lang.IllegalStateException: JNative library not loaded, sorry !网上查后,说是JNative.jar包只能在32位系统可用,64位系统就会报错。我在一台32系统机器上确实可以。四log日志记录。
我只是想简单实现少量记录,所以就使用自带的Logger类。这里主要的几个类或方法是:Logger.getLogger(name)、new FileHandler(path,true)、.setFormatter(new Formatter())。其中默认控制器FileHandler可以把日志记录到文本文件中。path是文件路径,第二个参数若是true,就会在原有文件中续写。如果是false会覆盖先前的记录的。方法setFormatter是设置日志记录的格式的。日志还有日志级别知识。博客链接点击打开链接。另有一个log4j使用的博客点击打开链接。
五后来想在cmd中使用命令行打jar包。
就牵着出了jar的一些命令以及.bat文件使用的一些知识。调出cmd界面后,输入jar -help回车就会有帮助提示,基本就明白怎么用了。如图
这里问题是:这样直接打的jar包中的/META-INF/MANIFEST.MF文件中只有两行数据如:
这样你要是想运行包中的main方法是找不到的,这个文件需要自己手动添加一些数据如:Main-Class: 主方法类名。还有其他数据博客点击打开链接。主要要注意的是,每个数据写时不要忘了冒号“:”后面要有一个空格,不然就会出现这样的错误:
。
想建一个.bat文件启动java程序。可以创建一个.bat后缀的文本文档,然后这样写:
运行jar包。
或者这样写:
运行含main的java。
bat文件知识这有个介绍的挺好的点击打开链接。
相关文章推荐
- Java基础学习总结(61)——Java项目开发要注意的60个问题
- Java转iOS-第一个项目总结(2):遇到问题和解决方案
- Java转iOS-第一个项目总结(2):遇到问题和解决方案
- Java基础学习总结(61)——Java项目开发要注意的60个问题
- eclipse 开发android 项目的时候系统自动生成的R.Java文件在重新生成时候丢失问题
- 总结Java+Oracle应用开发的常遇到几个问题
- 烟草订购项目总结——第一个比较系统的iPhone开发项目
- moss开发实施过程中遇到的问题总结:项目层面
- 初触cocos2d-x,win32平台搭建以及创建第一个cocos2d-x项目遇到问题总结
- 公司项目开发过程中遇到的问题总结!
- 项目开发、项目管理中遇到的问题总结
- Eclipse rap 富客户端开发总结(2)- rap项目目前的进度和存在的问题
- Eclipse初次java开发问题总结-1
- Eclipse初次java开发问题总结-2
- web项目开发编码问题总结
- 做完了工作以来的第一个项目 总结了一下在这个项目中遇到的问题 备份一下
- 关于java开发中path和classpath环境变量问题的总结
- 项目开发遇到的问题及其解决.总结
- Java web 开发小问题总结(持续更新中)
- 项目开发中经常遇到的一些问题总结