[原创] IntelliJ推出的语法检查插件Grazie,没有现实意义

转载需注明出处:https://www.codelast.com/

今天看到一篇推送的技术文章,说IntelliJ推出了一个语法检查插件Grazie,但它不是用于检查面向编译器的语法,而是用于检查面向人类的语法,比如引号里的字符串、注释语句里的语法,等等。我认为在当前的环境下,它没有意义——除非在一个有着严格要求(或者非常自律)的团队里,否则这种功能只能用来“折腾自己”,而不可能改善大家整体的代码状况。
阅读更多

[原创]如何添加一个文件/目录到IntelliJ项目的classpath中

转载请注明出处:http://www.codelast.com/

以下内容的背景:IntelliJ,Java项目。
在单元测试中,我们经常会使用与生产环境里不同的一些配置文件来为提供参数,而你的程序又是以类似下面的方法来读取配置文件:

String configFileName = "config.properties";
Properties properties = new Properties();
properties.load(MyClass.class.getClassLoader().getResourceAsStream(configFileName));

上面的代码中仅使用了配置文件名,而不是其完整路径,这就导致了可能在IntelliJ中运行一个单独的单元测试的时候,找不到该配置文件,因为你只提供文件名的话,该文件必须要在classpath中,否则是找不到它的。
阅读更多

[原创]Java基础知识记录(1)

前言:本文『很傻很天真』,任何稍有Java编程经验的都不用看了。

 

(1)Java文件编译得到class文件,jar包是若干class文件(以及其他一些文件)的集合,如果要在命令行运行jar包中的一个class文件(相当于一个Java程序),可以这样做:

java -cp /root/software/tmp/XXX.jar:/root/software/tmp/lib/* com.abc.calculate.MyClass --date 20101101

其中,-cp 表示指定classpath,后面需要以分号(:)分隔的方式将所有需要用到的依赖jar包添加进来,此处添加了 /root/software/tmp/XXX.jar 包以及 /root/software/tmp/lib/ 目录下的所有jar包。

com.abc.calculate.MyClass 是要运行的jar包 XXX.jar 中的一个class文件,这么长的名字是它在jar包中的路径全名。

--date是传给 MyClass 程序命令行参数。还可以带更多的参数,要看你在Java程序中是如何写的代码。

阅读更多