-1. 首先之前…
因为以后大概不会用java写代码所以坚持不安装java的ide.
0. 首先…
- vscode 安装插件 Java Extension Pack
- vscode 安装插件 Code Runner
在vscode的用户设置里, 我添加了这两项
"code-runner.runInTerminal": true,
"code-runner.clearPreviousOutput": true,
然后写好代码, 右键run就可以运行了…
1. 找不到javac ?
先卸载并重新安装 Java & JDK,
注意: 不要安装在同一个目录, 否则会导致找不到 javac.exe
参考问题: https://www.zhihu.com/question/28428426
然后添加环境变量:
2. 编码GBK的不可映射字符?
注释中出现了中文于是无法编译…
在javac编译命令后应该指出编码: javac -encoding utf-8 …
于是修改用户设置
"code-runner.executorMap": {
"java": "cd $dir && javac -encoding utf-8 $fileName && java $fileNameWithoutExt"
},
继续开心的写代码, 然后又出现了问题…
3. 错误: 找不到符号…
为了更好地组织类(笑), 我将当前项目的所有代码组织在同一个package中,
package TradeSystemDemo;
并且将他们放在对应的目录下:
如果这个时候, 右键Main并Run Code, 会找不到Console等其他类…提示 ‘错误: 找不到符号’.
检查vscode终端的命令, 会发现cd进入了package所在的文件夹, 所以编译会出错.
所以应该在项目根目录上执行javac命令, 所以在vscode的工作区设置中加上: (用户设置是全局的, 工作区设置只针对当前工作区)
"code-runner.executorMap": {
"java": "cd $workspaceRoot && javac -encoding utf-8 -d . TradeSystemDemo/Main.java && java TradeSystemDemo/Main",
}
- 第一个命令
cd $workspaceRoot
使进入工作区根目录. - 然后是编译命令,
javac -encoding utf-8 -d . TradeSystemDemo/Main.java
(以上设置放在工作区的原因就是每个项目的Main.java的路径不一样…取决于它放在哪个package文件夹下) - 最后是运行程序的命令
java TradeSystemDemo/Main
现在就可以在Vscode中右键任意代码并Run Code了.
然而…
4. 如果要打包成jar
这里参考了 http://it-easy.tw/java-jar/ .
对于我的项目, 打包Jar的命令如下, 这也是在工作区根目录上执行的:
jar cvfm TradeSystem.jar Manifest.MF TradeSystemDemo/*.class
于是我写了一个bat, 完成编译和打包jar
javac -encoding utf-8 -d . TradeSystemDemo/Main.java
jar cvfm TradeSystem.jar Manifest.MF TradeSystemDemo/*.class
pause
把这个bat放在工作区根目录上, 写好代码后运行就好了.
如果要运行打包后的jar文件的话…也用一个bat就好了
java -jar TradeSystem.jar
pause
一天下午就这么过去了…真想用C#啊可是实验课要求用java…明天就把这个实验做完吧…