如何在命令行中使用javac编译这个小代码段

如何在命令行中使用javac编译这个小代码段,java,bash,javac,Java,Bash,Javac,我正在学习springframework,我不想使用任何IDE,我想在bash的纯命令行中使用java。我已经下载了很多jar,我可以在/root/.m2/repository以及/usr/share/maven/ref/repository/中看到它们。我要编译的AppConfig.java包含以下内容: @Configuration public class AppConfig { // this is all there is } 它编译得很好,没有@配置注释。在我的头脑中,我知

我正在学习springframework,我不想使用任何IDE,我想在bash的纯命令行中使用java。我已经下载了很多jar,我可以在/root/.m2/repository以及/usr/share/maven/ref/repository/中看到它们。我要编译的
AppConfig.java
包含以下内容:

@Configuration
public class AppConfig {
    // this is all there is
}
它编译得很好,没有
@配置
注释。在我的头脑中,我知道我需要拉进正确的罐子。为了在这些事情的未来交易中系统化,我想知道如何:

  • 确定关键字所需的正确jar和jar位置

如果需要的话,我接受maven pom.xml做事情的方式,但如果可能的话,我希望以最简单的方式工作。

真正的答案是:不要这样做

对于一个刚开始使用Java的新手来说,首先自己完成所有工作是有益的——只需手动使用文本编辑器和javac。因为这教会了你很多东西

但是:spring框架并不是Java新手应该首先使用的。当你更有经验时,你就会停止手工操作。然后,你更专注于使用周围的所有工具,让你的生活更轻松。因此:在使用spring时,使用IDE和构建系统,如maven或grade。因为sprint本身增加了(几个)复杂性的数量级


比如:当你开始成为一名建筑师时,你可能会自己用铲子为你的花园房子挖地下室。但是,一旦你打算做“真正的工作”,你就会忘记电铲,开始使用挖掘机。

“我正在学习springframework,我不想使用任何IDE”——这是一个不明智的选择。在依赖性和组织方面,如果没有IDE来为您管理事情,那么会有太多的事情发生。你的说法就像说“我想学木工,但只使用石器”。可能吗?对你能生产任何复杂或功能性的产品吗?不,好的。我将放宽要求,并愿意使用maven pom.xml。怎么样?对我来说,IDE隐藏了很多东西。。。只是我的观察。这些脚手架可以在命令行中实现自动化,就像angular cli一样。。。等等,使用maven或gradle这样的构建工具更容易为您跟踪依赖关系。您仍然没有使用IDE。您对IDE有什么看法?您不希望IDE提供帮助和指导来提高编写代码的速度吗?因为您花更少的时间查看javadocs,并且至少更快地发现和修复错误为什么甚至允许使用文本编辑器,如
vi
nano
?您可以使用编辑文件。当然这很麻烦,但是你可以做任何你想要的改变。使用可用的工具来提高生产力。IDE“隐藏”了很多东西,但这些东西都是枯燥乏味的样板,没有任何东西可以阻止您调查在幕后发生的事情。如果只是因为即时语法检查、完成和重构工具,使用IDE您的生产率将提高10-20倍。拿一个从穿孔卡片开始的人来说(所以我知道“没有IDE”的意思很好),没有IDE我是不会工作的。我的时间和理智对我来说比这更有价值。