因为以后大概不会用java写代码所以坚持不安装java的ide.
在vscode的用户设置里, 我添加了这两项
"code-runner.runInTerminal": true,
"code-runner.clearPreviousOutput": true,
然后写好代码, 右键run就可以运行了…
先卸载并重新安装 Java & JDK,
注意: 不要安装在同一个目录, 否则会导致找不到 javac.exe
参考问题: https://www.zhihu.com/question/28428426
注释中出现了中文于是无法编译…
在javac编译命令后应该指出编码: javac -encoding utf-8 …
于是修改用户设置
"code-runner.executorMap": {
"java": "cd $dir && javac -encoding utf-8 $fileName && java $fileNameWithoutExt"
},
继续开心的写代码, 然后又出现了问题…
为了更好地组织类(笑), 我将当前项目的所有代码组织在同一个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
java TradeSystemDemo/Main
然而…
这里参考了 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…明天就把这个实验做完吧…