maven - tomcat上无法部署SpringRoo项目

标签 maven tomcat spring-roo sts-springsourcetoolsuite springsource

我开始使用以下环境开发一个新项目:

  • Ubuntu 12.04
  • java version "1.6.0_27"
  • Eclipse Java EE IDE for Web Developers. Version: Helios Service Release 1
  • SpringSource Tool Suite Version: 2.9.2.RELEASE
  • tomcat 6 (which I can start, stop from Eclipse IDE)
  • PostgresSql database + pgAdmin III

我遵循了预期的教程:

  • docs.spring.io/spring-roo/reference/html/beginning.html
  • docs.spring.io/spring-roo/reference/html/base-dbre.html

我设法创建了我的项目,并使用逆向工程过程生成了所有业务对象。 我还设法使用 Web MVC 进程创建了 Controller 对象。

我遇到的问题是我无法让我的项目在 tomcat 上运行。 我无法创建服务器并将我的项目添加到其中:我右键单击服务器选项卡,新建 => 新服务器 => 我选择 tomcat 6 => 我检查运行时环境:链接到/opt/tomcat6 并使用工作台默认 JRE 作为预期 => 我单击下一步按钮:然后我无法在列表中看到我的项目。所以我不能将它添加到服务器 为了尝试另一种方式,我将项目导出到位于/opt/tomcat6 中的 war 文件中。当我更新 war 文件时,我的应用程序似乎已在 webapps 上更新,但我认为 war 文件不正确,因为它的内容如下:

-- log.roo
-- pom.xml
-- .settings/
-- src/ And here
-- ++ main/
-- ++ ** java/
-- ++ ** resources/
-- ++ ** webapp/
-- ++ ** -- images/
-- ++ ** -- styles/
-- ++ ** -- WEB-INF/
-- ++ ** -- ++ classes/
-- ++ ** -- ++ i18n/
-- ++ ** -- ++ layouts/
-- ++ ** -- ++ spring/
-- ++ ** -- ++ tags/
-- ++ ** -- ++ views/
-- ++ ** -- ++ web.xml

当我访问我的本地主机:8080/MyProject/时,出现 404 错误……我认为根据目录内容这是预期的……??? ...

从网上搜索,我对 Project Facets 很感兴趣...我看到一个帖子,有人被告知要右键单击项目 => 配置 => 转换为分面形式...

只要“Convert to faceted form...”末尾有树点,我就点了这个菜单...居然把项目转换了-_-

我不知道这是一个额外的问题还是一件好事......但目前它并没有解决我的问题。

顺便说一句,我现在可以为我的项目选择构面......但是哪一个???那是另一个问题......

还有一条线索:

我看到在查看 Eclipse 的“问题”选项卡时出现 100 次相同的错误:

Description Resource Path Location Type
javax.servlet cannot be resolved to a type category.tagx /MyProject/src/main/webapp/WEB-INF/tags/menu line 1 JSP Problem

但是,我的 pom.xml 中有预期的以下内容:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
</dependency>

在“错误日志”选项卡中,我也有以下错误(这应该与我的问题无关?): 错误 Project facet grails.app 尚未定义。它用于插件 com.springsource.sts.server.tc.core。

我也有这条消息(这肯定与我的问题有关?):

Info build: Abort due to missing classpath/inpath/aspectpath entries
Info /MyProject : Project 'MyProject' is missing required source folder: 'src/test/resources'
Info /MyProject : Project 'MyProject' is missing required source folder: 'src/test/java'

那些文件夹是存在的……但我没有使用它们,所以我从构建路径管理窗口的“源”选项卡中删除了它们。 它在“错误日志”选项卡中生成了很多错误。以下是一些可能对您有所帮助的示例:

Error Problems occurred when invoking code from plug-in: "org.eclipse.jdt.core".
java.lang.NullPointerException: type must not be null
at org.eclipse.jst.ws.jaxws.utils.ContractChecker.nul lCheckParam(ContractChecker.java:40)
at org.eclipse.jst.ws.jaxws.utils.internal.annotation s.impl.AnnotationInspectorImpl.<init>(AnnotationIn spectorImpl.java:76)
at org.eclipse.jst.ws.jaxws.utils.annotations.Annotat ionFactory.createAnnotationInspector(AnnotationFac tory.java:350)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.J axWsWorkspaceResource.newAnnotationInspector(JaxWs WorkspaceResource.java:206)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.AbstractModelSynchronizer.processCompilationUn it(AbstractModelSynchronizer.java:115)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.handleAddedCompilatio nUnit(OnEventModelSynchronizer.java:354)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.recursevilyHandleComp ilationUnits(OnEventModelSynchronizer.java:278)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.recursevilyHandleComp ilationUnits(OnEventModelSynchronizer.java:302)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.recursevilyHandleComp ilationUnits(OnEventModelSynchronizer.java:302)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.handleChangedProject( OnEventModelSynchronizer.java:176)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.elementChanged(OnEven tModelSynchronizer.java:86)
at org.eclipse.jdt.internal.core.DeltaProcessor$3.run (DeltaProcessor.java:1557)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner .java:42)
at org.eclipse.jdt.internal.core.DeltaProcessor.notif yListeners(DeltaProcessor.java:1547)
at org.eclipse.jdt.internal.core.DeltaProcessor.fireP ostChangeDelta(DeltaProcessor.java:1381)
at org.eclipse.jdt.internal.core.DeltaProcessor.fire( DeltaProcessor.java:1357)
at org.eclipse.jdt.internal.core.JavaModelOperation.r un(JavaModelOperation.java:769)
at org.eclipse.core.internal.resources.Workspace.run( Workspace.java:1975)
at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:47 77)
at org.eclipse.jst.jsp.core.internal.validation.JSPBa tchValidator.validate(JSPBatchValidator.java:532)
at org.eclipse.wst.validation.Validator$V2.validate(V alidator.java:1159)
at org.eclipse.wst.validation.internal.ValManager.val idate(ValManager.java:704)
at org.eclipse.wst.validation.internal.ValBuilderJob$ Visitor.visit(ValBuilderJob.java:334)
at org.eclipse.core.internal.events.ResourceDelta.acc ept(ResourceDelta.java:68)
at org.eclipse.core.internal.events.ResourceDelta.acc ept(ResourceDelta.java:79)
at org.eclipse.core.internal.events.ResourceDelta.acc ept(ResourceDelta.java:48)
at org.eclipse.wst.validation.internal.ValBuilderJob. deltaBuild(ValBuilderJob.java:211)
at org.eclipse.wst.validation.internal.ValBuilderJob. run(ValBuilderJob.java:179)
at org.eclipse.wst.validation.internal.ValBuilderJob. runInWorkspace(ValBuilderJob.java:126)
at org.eclipse.core.internal.resources.InternalWorksp aceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.j ava:54)


Error Exception occurred in listener of Java element change notification
java.lang.NullPointerException: type must not be null
at org.eclipse.jst.ws.jaxws.utils.ContractChecker.nul lCheckParam(ContractChecker.java:40)
at org.eclipse.jst.ws.jaxws.utils.internal.annotation s.impl.AnnotationInspectorImpl.<init>(AnnotationIn spectorImpl.java:76)
at org.eclipse.jst.ws.jaxws.utils.annotations.Annotat ionFactory.createAnnotationInspector(AnnotationFac tory.java:350)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.J axWsWorkspaceResource.newAnnotationInspector(JaxWs WorkspaceResource.java:206)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.AbstractModelSynchronizer.processCompilationUn it(AbstractModelSynchronizer.java:115)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.handleAddedCompilatio nUnit(OnEventModelSynchronizer.java:354)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.recursevilyHandleComp ilationUnits(OnEventModelSynchronizer.java:278)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.recursevilyHandleComp ilationUnits(OnEventModelSynchronizer.java:302)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.recursevilyHandleComp ilationUnits(OnEventModelSynchronizer.java:302)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.handleChangedProject( OnEventModelSynchronizer.java:176)
at org.eclipse.jst.ws.jaxws.dom.runtime.persistence.s ync.OnEventModelSynchronizer.elementChanged(OnEven tModelSynchronizer.java:86)
at org.eclipse.jdt.internal.core.DeltaProcessor$3.run (DeltaProcessor.java:1557)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner .java:42)
at org.eclipse.jdt.internal.core.DeltaProcessor.notif yListeners(DeltaProcessor.java:1547)
at org.eclipse.jdt.internal.core.DeltaProcessor.fireP ostChangeDelta(DeltaProcessor.java:1381)
at org.eclipse.jdt.internal.core.DeltaProcessor.fire( DeltaProcessor.java:1357)
at org.eclipse.jdt.internal.core.JavaModelOperation.r un(JavaModelOperation.java:769)
at org.eclipse.core.internal.resources.Workspace.run( Workspace.java:1975)
at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:47 77)
at org.eclipse.jst.jsp.core.internal.validation.JSPBa tchValidator.validate(JSPBatchValidator.java:532)
at org.eclipse.wst.validation.Validator$V2.validate(V alidator.java:1159)
at org.eclipse.wst.validation.internal.ValManager.val idate(ValManager.java:704)
at org.eclipse.wst.validation.internal.ValBuilderJob$ Visitor.visit(ValBuilderJob.java:334)
at org.eclipse.core.internal.events.ResourceDelta.acc ept(ResourceDelta.java:68)
at org.eclipse.core.internal.events.ResourceDelta.acc ept(ResourceDelta.java:79)
at org.eclipse.core.internal.events.ResourceDelta.acc ept(ResourceDelta.java:48)
at org.eclipse.wst.validation.internal.ValBuilderJob. deltaBuild(ValBuilderJob.java:211)
at org.eclipse.wst.validation.internal.ValBuilderJob. run(ValBuilderJob.java:179)
at org.eclipse.wst.validation.internal.ValBuilderJob. runInWorkspace(ValBuilderJob.java:126)
at org.eclipse.core.internal.resources.InternalWorksp aceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.j ava:54)


Error File not found: '/MyProject/src/main/java/__2F_MyProject_2F_src_2F_main_2F_webapp_2F_WEB_2D_ INF_2F_tags_2F_form_2F_fields_2F_select_2E_tagx.ja va'
org.eclipse.core.internal.resources.ResourceExcept ion: Resource '/MyProject/src/main/java/__2F_MyProject_2F_src_2F_main_2F_webapp_2F_WEB_2D_ INF_2F_tags_2F_form_2F_fields_2F_select_2E_tagx.ja va' does not exist.
at org.eclipse.core.internal.resources.Resource.check Exists(Resource.java:326)
at org.eclipse.core.internal.resources.Resource.check Accessible(Resource.java:200)
at org.eclipse.core.internal.resources.File.getConten ts(File.java:291)
at org.eclipse.jdt.internal.core.util.Util.getResourc eContentsAsCharArray(Util.java:1186)
at org.eclipse.jdt.internal.core.CompilationUnit.getC ontents(CompilationUnit.java:649)
(...)
at org.eclipse.core.internal.events.ResourceDelta.acc ept(ResourceDelta.java:48)
at org.eclipse.wst.validation.internal.ValBuilderJob. deltaBuild(ValBuilderJob.java:211)
at org.eclipse.wst.validation.internal.ValBuilderJob. run(ValBuilderJob.java:179)
at org.eclipse.wst.validation.internal.ValBuilderJob. runInWorkspace(ValBuilderJob.java:126)
at org.eclipse.core.internal.resources.InternalWorksp aceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.j ava:54)
  • 现在“问题”选项卡中出现以下错误:

    描述资源路径位置类型 类路径错误:无法找到 org.aspectj.lang.JoinPoint(检查 aspectjrt.jar 是否在您的类路径中)MyProject 未知 Java 问题

但是,我的 pom.xml 中有预期的内容:

        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>${aspectj.version}</version>
        </dependency>

最佳答案

这似乎是 Eclipse 的问题。尝试从头开始创建项目并使用 Maven Tomcat 插件运行:“mvn clean install tomcat:run”

关于maven - tomcat上无法部署SpringRoo项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21026950/

相关文章:

Maven:与 jar 一起的属性文件

Maven - 完全禁用本地存储库,只转到远程

java - maven安装lib文件夹的快速方法

java - 如何将mysql连接到spring roo?

java - Spring MVC/Spring Roo 自定义 Controller ,以 JSON 形式返回 JPA 查询数据

java - 如何从项目本身开始启动 Maven 模块中的主类?

java - AspectJ 加载时编织 + Spring 3.0.5.RELEASE + Tomcat 7 不工作

主机名的 Tomcat 命令行参数

tomcat - JNDI tomcat 到 weblogic

Spring roo/ Spring mvc : how can i set uriencoding for controller method