非常基本的Maven-can';不编译

非常基本的Maven-can';不编译,maven,Maven,我正在用一个简单的Maven项目运行basicHelloWorld。mvn编译工作正常,然后在我的HelloWorld中,我添加org.slf4j.*作为导入,然后尝试一个单行记录器 当我执行mvn编译时,我得到一个编译错误,指示未找到org.slf4f 它应该足够简单,看起来编译并没有指向它在我的.m2驱动器上下载的大量jar。我在那里找到了正确的罐子。我遗漏了一些非常基本的东西,在调试器中,我看到-classpath除了指向我的java类(一个类,HelloWorld)之外,没有指向任何东西

我正在用一个简单的Maven项目运行basic
HelloWorld
mvn
编译工作正常,然后在我的
HelloWorld
中,我添加
org.slf4j.*
作为导入,然后尝试一个单行记录器

当我执行
mvn编译时
,我得到一个编译错误,指示未找到
org.slf4f

它应该足够简单,看起来编译并没有指向它在我的.m2驱动器上下载的大量jar。我在那里找到了正确的罐子。我遗漏了一些非常基本的东西,在调试器中,我看到
-classpath
除了指向我的java类(一个类,HelloWorld)之外,没有指向任何东西?这里有我缺少的基本元素吗

下面是我的pom文件,该版本也存在于我的.m2存储库中,尽管Maven神奇地在存储库中找到了这些JAR

 [DEBUG] -d C:\TestMaven\target\classes -classpath C:\TestMaven\target\classes; -sourcepath C:\TestMaven\src\main\java; -g -nowarn -target 1.5 -source 1.5

4.0.0
org.koushik.javabrains
马文特斯塔普
1.0-快照
罐子
马文特斯塔普
http://maven.apache.org
UTF-8
朱尼特
朱尼特
3.8.1
试验
org.slf4j
slf4j api
1.7.12
试验

只要遵循(如下所示),就不需要指定源代码和类路径。对于简单的情况,将
pom.xml
放在项目的根目录中,然后运行
mvn测试

基本的maven项目布局:

project
|-- pom.xml
`-- src
    |-- main
    |   `-- java
    |   `-- resources
    `-- test
        `-- java
        `-- resources
您可能希望在以后运行
mvn安装
或其他操作,但这就足够了


如果您仍在挣扎,请运行并将代码移动到生成的项目中

您将
slf4j api
声明为
test
依赖项。这意味着它将仅在单元测试执行期间出现在类路径中,而不是在编译期间(请参阅)

您需要将范围更改为
compile
。由于这是默认范围,我们可以忽略它


org.slf4j
slf4j api
1.7.12

ahhh,就是这样。。。我应该看到…这就是教程的问题让人更加自满。。谢谢@JaySchrock很高兴我能帮上忙。如果这个答案最好回答你的问题,请考虑这个答案。