同步Web项目依赖关系maven - > eclipse

yan*_*nko 3 eclipse maven-2

我已经安装了m2eclipse插件,并且同步pom.xml中出现的编译时依赖项没有问题.

现在,我添加了JPA + Hibernate(或其他)依赖关系,maven在做的时候赶上了mvn jetty:run.

问题是,Eclipse没有.因此,当我从eclipse启动Web应用程序时,我没有在引用的tomcat上部署那些额外的.jars.

有没有办法将这种Web运行时依赖项添加到Eclipse?不太喜欢手动编辑org.eclipse.wst.common.component的想法.

Bea*_*sen 9

我发现每次更新项目的POM都会有助于重新运行m2eclipse,否则它将无法看到新的外部依赖项.

如果你没有尝试运行这个,因为你将新的依赖项(JPA + Hibernate或其他)添加到你的POM,然后给它一个镜头,看它是否有效.

mvn clean install eclipse:clean eclipse:eclipse eclipse:m2eclipse
Run Code Online (Sandbox Code Playgroud)

请注意,执行此操作后,您可能需要刷新Eclipse项目才能使更改生效.

它可能不需要所有这些参数都可以工作,但我在某一点上添加它们只是为了确定.您可以调整参数列表,使其达到适合您的程度.

这样做可能会破坏项目的一些Eclipse首选项,所以希望您已经拥有了在POM中重建项目所需的一切.例如,我在我的一个POM中有一堆额外的东西,以确保当maven用于重建eclipse项目时,我的eclipse项目中会添加springnature和springbuilder之类的东西.

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-eclipse-plugin</artifactId>
      <configuration>
        <additionalProjectnatures>
          <projectnature>
            org.springframework.ide.eclipse.core.springnature
          </projectnature>
          <projectnature>
            org.eclipse.wst.common.project.facet.core.nature
          </projectnature>
          <projectnature>
            org.eclipse.wst.common.modulecore.ModuleCoreNature
          </projectnature>
          <projectnature>
            org.eclipse.jem.workbench.JavaEMFNature
          </projectnature>
        </additionalProjectnatures>
        <additionalBuildcommands>
          <buildcommand>
            org.eclipse.wst.common.project.facet.core.builder
          </buildcommand>
          <buildcommand>
            org.eclipse.wst.validation.validationbuilder
          </buildcommand>
          <buildcommand>
            org.springframework.ide.eclipse.core.springbuilder
          </buildcommand>
        </additionalBuildcommands>
        <wtpversion>1.5</wtpversion>
      </configuration>
    </plugin>
  </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

最后一位被添加为警告!如果他们还没有为运行eclipse:*命令的后果做好准备,那就讨厌有人接受一个正在运行的Eclipse项目并销毁一堆配置.