我在其他地方找不到这个问题的答案。
我正在尝试设置一个虚拟机来学习 spring、wicket 和 hibernate。我从 this 开始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 从我的用户文件夹符号链接(symbolic link)到项目文件夹,甚至添加了指向同一位置的环境变量 M2_REPO。 所有引用的文件都在文件夹结构中。但我仍然遇到相同的错误,并且 maven-jar 的类路径依赖项 validator 仍然发出警告。
如果这有帮助:
我在 oracle-vm 内的 64 位 XUbuntu 上运行它。 我从存储库安装了 maven2 和 openjdk-7-jdk,从官方网站安装了 Springsource Toolsuite .sh-installer 64Bit 2.9.2。
我很困惑,因为我从来没有想过建立一个简单的演示原型(prototype)会那么困难。我想我犯了一个简单/天真的初学者错误。但我不知道。请帮助我。
如果您需要更多信息,请告诉我。
最佳答案
如果 M2_REPO 未定义,您通常应该在 eclipse/STS 中收到警告。要确保该变量可用,您可以转到 Preferences > Java > Build path > Classpath variables
。如果您没有在此处定义变量 M2_REPO,您可以将其添加到 <path>/.m2/repository
的路径。
关于您正在使用的 maven-archetype,我不能说太多。但也许你应该看看Spring roo这可以帮助您创建一个新的 Spring 项目(创建配置文件、向 pom.xml 添加依赖项等)。 使用 hibernate 和 roo 创建一个新的 Spring 项目基本上是编写 2 个命令:
project --topLevelPackage com.company.project
jpa setup --provider HIBERNATE --database MYSQL
关于java - 设置 Spring Archetype 时重复出现的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11808011/