当前位置: 首页 > 知识库问答 >
问题:

Maven提供了部署在Juno+Tomcat7上的作用域

慕容玉堂
2023-03-14

也许不是Maven的问题。也许是m2e/wtp问题?

为了给出一个背景,我在Eclipse中建立了一个ICEFaces项目,并在Tomcat7.0.30中部署了它。在将servlet-api.jar部署到Tomcat时,似乎忽略了所提供范围中的Maven POM配置。我错过什么了吗?我如何让Maven做得正确?

在该项目中,javax.servlet-api.jar作为IceFaces的可传递依赖项被引入。由于Tomcat自带了servlet-api.jar,我将其标记为排除,并添加了一个显式依赖项(scope:provided)。

信息:启动Servlet引擎:Apache Tomcat/7.0.30
06-mar-2013 10:44:05 org.Apache.catalina.loader.webAppClassLoader validateJarFile信息:validateJarFile(d:\workspaces\test-project\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\test-project\web-inf\lib\javax.servlet-api-3.0.1.jar)-jar未加载。参见Servlet规范2.3,第9.7.2节。违规类:javax/servlet/servlet.class
06-mar-2013 10:44:07 com.sun.faces.config.ConfigureListener contextInitialized

Maven POM

<dependency>
  <groupId>org.icefaces</groupId>
  <artifactId>icefaces-ace</artifactId>
  <version>3.2.0</version>
  <exclusions>
    <exclusion>
      <artifactId>javax.servlet-api</artifactId>
      <groupId>javax.servlet</groupId>
    </exclusion>
  </exclusions>
</dependency>

And added a dependency with provided scope

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

安装程序
*Eclipse Juno
*创建了Maven webapp项目。
*启用并配置了JSF和ICEFaces方面。
*配置了Eclipse项目的部署程序集以部署Maven依赖项。
*从Eclipse将项目部署到Tomcat(在“服务器”选项卡中右键单击>添加/删除>添加项目>Publsh)

*更新1*

mvn依赖关系:tree-dverbose

不知道该怎么处理这些警告。我将了解如何启用调试日志记录。

[INFO] Scanning for projects...  
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building test-project Maven Webapp 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ test-project ---
[WARNING] The POM for org.codehaus.plexus:plexus-utils:jar:1.0.4 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details  
[WARNING] The POM for classworlds:classworlds:jar:1.1-alpha-2 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.apache.maven:maven-plugin-api:jar:2.0 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.apache.maven:maven-model:jar:2.0 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-8 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.apache.maven:maven-settings:jar:2.0 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[INFO] com.mochapenguin:test-project:war:0.0.1-SNAPSHOT
[INFO] +- junit:junit:jar:3.8.1:test
[INFO] +- org.icefaces:icefaces-ace:jar:3.2.0:compile
[INFO] |  \- org.icefaces:icefaces:jar:3.2.0:compile
[INFO] |     +- org.glassfish:javax.faces:jar:2.1.6:compile
[INFO] |     +- javax.portlet:portlet-api:jar:2.0:compile
[INFO] |     +- org.icepush:icepush:jar:3.2.0:compile
[INFO] |     |  \- javax.mail:mail:jar:1.4.1:compile
[INFO] |     |     \- javax.activation:activation:jar:1.1:compile
[INFO] |     \- com.sun.xml.fastinfoset:FastInfoset:jar:1.2.12:compile
[INFO] +- org.icefaces:icefaces-compat:jar:3.2.0:compile
[INFO] |  +- (org.icefaces:icefaces:jar:3.2.0:compile - omitted for duplicate)
[INFO] |  +- commons-beanutils:commons-beanutils:jar:1.8.0:compile
[INFO] |  +- commons-logging:commons-logging:jar:1.1:compile
[INFO] |  \- javax.servlet:jstl:jar:1.2:compile
[INFO] \- javax.servlet:javax.servlet-api:jar:3.0.1:provided
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.440s
[INFO] Finished at: Wed Mar 06 13:24:47 GMT 2013
[INFO] Final Memory: 6M/120M
[INFO] ------------------------------------------------------------------------

*更新2*

m2e - Maven Integration for Eclipse 1.3.0.**20130129-0926** org.eclipse.m2e.feature.feature.group   Eclipse.org - m2e
An error occurred while collecting items to be installed
session context was:(profile=epp.package.jee, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
No repository found containing: osgi.bundle,com.ning.async-http-client,1.6.5.20130219-0923
No repository found containing: osgi.bundle,org.eclipse.m2e.archetype.common,1.3.1.20130219-0923
No repository found containing: osgi.bundle,org.eclipse.m2e.core,1.3.1.20130219-1424
No repository found containing: osgi.bundle,org.eclipse.m2e.core.ui,1.3.1.20130219-1424
No repository found containing: osgi.bundle,org.eclipse.m2e.discovery,1.3.1.20130219-1424
No repository found containing: osgi.bundle,org.eclipse.m2e.editor,1.3.1.20130219-1424
No repository found containing: osgi.bundle,org.eclipse.m2e.editor.xml,1.3.1.20130219-1424
No repository found containing: osgi.bundle,org.eclipse.m2e.jdt,1.3.1.20130219-1424
No repository found containing: osgi.bundle,org.eclipse.m2e.launching,1.3.1.20130219-1424
No repository found containing: osgi.bundle,org.eclipse.m2e.lifecyclemapping.defaults,1.3.1.20130219-1424
No repository found containing: osgi.bundle,org.eclipse.m2e.maven.indexer,1.3.1.20130219-0923
No repository found containing: osgi.bundle,org.eclipse.m2e.maven.runtime,1.3.1.20130219-0923
No repository found containing: osgi.bundle,org.eclipse.m2e.model.edit,1.3.1.20130219-1424
No repository found containing: osgi.bundle,org.eclipse.m2e.refactoring,1.3.1.20130219-1424
No repository found containing: osgi.bundle,org.eclipse.m2e.scm,1.3.1.20130219-1424
No repository found containing: osgi.bundle,org.jboss.netty,3.2.5.Final-20130219-0923
No repository found containing: org.eclipse.update.feature,org.eclipse.m2e.feature,1.3.1.20130219-1424
m2e - slf4j over logback logging (Optional) 1.3.1.20130219-1424 org.eclipse.m2e.logback.feature.feature.group   Eclipse.org - m2e

(免责声明一:这是我的理解,乐于被纠正)

看起来m2e+m2e extras(不确定它们是独立的实体,还是仅仅是m2e)已经与Juno一起安装了。我必须安装M2E-WTP连接器,以便正常工作。Maven Scope现在很受欢迎。

安装m2e-wtp连接器:在Juno-Window>Preferences>Maven>Discovery>Open Catalog>选中针对m2e-wtp连接器的复选框来安装它。这将向已安装的软件添加以下内容

m2e-wtp - Maven Integration for WTP (Incubation)    0.17.0.20130212-1821    org.eclipse.m2e.wtp.feature.feature.group   Eclipse.org - m2e-wtp

共有1个答案

司马辉
2023-03-14

对我来说,这不是Maven的问题。Maven得到了servlet-api的提供,但您并不是通过Maven部署或构建包,而是使用Maven进行编译(也许是通过m2e进行编译),并通过Eclipse进行部署。M2E/Eclipse应该处理这个问题,但没有。

根据这个类似的线程,安装m2e+m2e-extras应该会修复它。关于Eclipse行为的更多细节,请参阅其他答案。

 类似资料:
  • 知道如何在变化时重新部署html和jsp吗?

  • 问题内容: 我试图将包含JAX-WS接口的项目部署到wildfly 8.2服务器。该项目是一场战争。在该项目中,我想使用拦截器。 我将Maven与“ provided”标签一起使用,以免收到以下错误: 看起来像这样: 但是,如果这样做,则无法在运行时找到该库: 我已经尝试使用maven通过MANIFEST.MF文件添加依赖项: 我不知道该怎么办,有什么建议吗? 问题答案: 事实证明,将文件添加到具

  • 我正试图将一个。war项目部署到我的tomcat7安装中。 我使用的是Ubuntu12.04和Tomcat7。

  • 我尝试将这个项目部署到AWS弹性豆茎:https://github.com/coralproject/talk,dockerfile公开端口5000,我也定义了环境变量,所有这些变量都使用端口5000。 可能相关的日志: /var/log/eb-activity.log cat://var/app/current/dockerrun.aws.json:没有这样的文件或目录8C17e6ddb0f84

  • 我刚刚部署(有史以来第一次)基于Spring的Java应用程序。在本地主机上,一切正常,但在部署后,我无法发送任何请求。应用程序只是不在服务器上运行。 日志: 有什么问题吗?我将非常感谢任何帮助。 编辑: 如果它有帮助 - 我已经下载了我刚刚部署在服务器上的示例Web项目,它运行良好。该项目具有上述依赖项,但区别在于部署后的日志。部署该示例应用后,日志中是典型的 Spring 日志: 但是在部署我

  • 我构建了一个web应用程序,包含一个Spring MVC项目,带有一个mysql数据库和一个tomcat7服务器。这个现在发布到OpenShift的GIT上。但是启动服务器只需要160毫秒,我可以清楚地看到没有加载任何东西。 我如何做一个真正的部署并将Openshift Tomcat连接到我的项目?我可以编码,但是就部署而言,我不是一个聪明的灯泡。 怎么了? 编辑:根据要求,pom.xml: :