我在别处找不到这个问题的答案。
我正在尝试设置一个虚拟机来学习 spring、wicket 和 hibernate。我从这个maven-archetype 开始并像这样使用它:
mvn archetype:generate -DarchetypeGroupId=nl.iprofs -DarchetypeArtifactId=wicket-spring-hibernate-quickstart -DarchetypeVersion=1.3 -DarchetypeRepository=http://www.iprofs.nl/repository/ -DinteractiveMode=false -DgroupId=me.sandbox -DartifactId=swh
cd swh
mvn install
mvn eclipse:eclipse
mvn jetty:run
Jetty 启动演示项目,它应该可以访问。
然后我将项目导入最新的 STS (SpringSourceToolsuite)。但是当我部署应用程序时,我得到了这个错误:
SEVERE: Error configuring application listener of class org.springframework.web.util.Log4jConfigListener
java.lang.ClassNotFoundException: org.springframework.web.util.Log4jConfigListener
我只是不明白。我是 spring 新手,没有经常使用 maven,但我的印象是 maven 会自动解决依赖关系(例如上面的):/
在我的 .classpath 文件中,我发现(除了许多其他)这些条目:
<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.5.8/slf4j-api-1.5.8.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.5.8/slf4j-api-1.5.8-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.4.2/slf4j-log4j12-1.4.2.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.4.2/slf4j-log4j12-1.4.2-sources.jar"/>
<classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
似乎 M2_REPO 未定义。我尝试将文件夹 .m2/repository 从我的用户文件夹符号链接到项目文件夹,甚至添加了指向同一位置的环境变量 M2_REPO。所有引用的文件都在文件夹结构中。但是我仍然遇到同样的错误,并且仍然有来自 maven-jars 的 Classpath Dependency Validator 的警告。
如果这有任何帮助:
我在 oracle-vm 内的 64 位 XUbuntu 上运行它。我从存储库安装了 maven2 和 openjdk-7-jdk,从官方站点安装了 Springsource Toolssuite .sh-installer 64Bit 2.9.2。
我很困惑,因为我从没想过设置一个简单的演示原型会那么难。我想我犯了一个简单/天真的初学者错误。但我不知道。请帮我。
如果您需要更多信息,请告诉我。