标签: m2e-wtp

Eclipse WTP vs sydeo,"提供模块而不发布"

我有问题通过使用eclipse的集成插件WTP来找到插件sysdeo的性能.

为了进行迁移并进行比较,我在eclipse中的不同项目中安装了两个.

根据我的理解,我注意到了生产力的差异:WTP需要在目录构建中发布源代码,以便tomcat安排它们.这种"脉动"很长:需要对上下文进行充电,以便可以看到修改.(5在大多数院子里干燥15秒 - 最长20秒).

Sysdeo没有; 一旦eclipse构建了修改文件,eclipse构建就会在项目内部构建内部目标,eclipse就会立即构建内部目标(浏览器上的F5,我们立即得到结果).

这是我的服务器配置:

选项"提供没有发布的模块"允许使sydeo成为正确的选择:选择正在运行的项目的构建目录.此配置在上下文文件中表达自己.(它能够取回我已经检查过"发布调制上下文到serparate XML行")

这些文件的比较:

  • 这是sysdeo生成的上下文文件
< Context path="/tatoile _syseo" reloadable="false" docBase="D:\32bit\serveur32bit\workspace\tatoile _syseo" workDir="D:\32bit\serveur32bit\workspace\tatoile _syseo\work" />
Run Code Online (Sandbox Code Playgroud)
  • 由WTP生成的文件上下文

<?xml version ="1.0"encoding ="UTF-8"?> <Context docBase ="D:\ 32bit\serveur32bit\workspace\tatoile\web"path ="/ tatoile"reloadable ="true"source ="org .eclipse.jst.jee.server:tatoile"> <Resources className ="org.eclipse.jst.server.tomcat.loader.WtpDirContext"extraResourcePaths ="/ WEB-INF/classes | D:\ 32bit\serveur32bit\workspace\tatoile\build\classes"virtualClasspath ="D:\ 32bit\serveur32bit\workspace\tatoile\build\classes"/> <Loader className ="org.eclipse.jst.server.tomcat.loader.WtpWebappLoader"useSystemClassLoaderAsParent ="false" virtualClasspath ="D:\ 32bit\serveur32bit\workspace\tatoile\build\classes"/> <JarScanner scanAllDirectories ="true"/> </ Context>

后来分析这两个文件是一样的.

现在让我们回到这个问题.我使用相同的服务器,因此上面的上下文文件都是为这个定义的.经验:我通过插件sysdeo启动tomcat,在两个上下文中的加载是由sysdeo配置WTP的另一个.两个当局都以同样的方式作出反应,这些修改立即在tatoile _syseo和tatoile中进行.

另一方面,我通过eclipse中的插件WTP(标签服务器等)启动tomcat,修改不会立即在tatoile _syseo和tatoile这两个项目中进行.注意:必须将"自动重新加载"置于"已启用"中,以便将修改考虑在内.(当服务器指示我们已重新加载上下文时,我们可以看到修改.)

在此输入图像描述

我从中推断出上下文的配置不是原因,而是插件启动tomcat的方式; 那里或我干......

这是WTP项目:

在此输入图像描述

java eclipse tomcat eclipse-wtp m2e-wtp

103
推荐指数
1
解决办法
2766
查看次数

Eclipse Maven Projects摆脱了wb-resource警告

我在Eclipse Luna的maven项目给了我这两个警告:

断根的单根规则:对于Web项目或EAR项目,只允许一个部署路径为"/"的元素

单根规则损坏:Web项目的输出文件夹必须是/ WEB-INF/classes configurations-web

发生这种情况是因为maven插件使用org.eclipse.wst.common.component中的后续wb-resources设置项目配置

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
    <wb-module deploy-name="sample-web">
        <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
        <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/.apt_generated"/>

        <property name="context-root" value="sample"/>
        <property name="java-output-path" value="/sample-web/target/classes"/>
    </wb-module>
</project-modules>
Run Code Online (Sandbox Code Playgroud)

如何禁用此验证以摆脱这个恼人的警告?

java eclipse maven m2e m2e-wtp

31
推荐指数
1
解决办法
5309
查看次数

部署程序集中缺少maven依赖项

我最近从日食4.4.2(Luna)升级到4.5(火星).我的动态Web项目现在不在其部署程序集"Project-> Properties-> Deployment assembly"中包含Maven依赖项.

我可以手动添加它们(使用"Project-> Properties-> Deployment assembly-> Add-> Java Build Path Entries-> Maven Dependencies"),但每次运行"Project-> Maven-> Update Project Configuration"时, Maven依赖项将再次被删除.

请注意,我使用Eclipse IDE中的Apache Tomcat Server运行项目.

我安装了

  • m2e 1.6.0.20150526-2032
  • m2e-wtp 1.2.0.20150602-1740

java eclipse m2eclipse m2e-wtp

25
推荐指数
1
解决办法
3万
查看次数

Maven不会创建"/ target/m2e-wtp/web-resources"文件夹

我正在使用Eclipse Luna.我正在做一个Maven项目.当我尝试在weblogic的应用程序服务器上运行我的应用程序时,抛出异常并显示以下消息:

weblogic.application.ModuleException: [HTTP:101027][WebAppModule(_auto_generated_ear_:MyAppName)] Document root: "D:\MGelbana\workspace\my-app-name\target\m2e-wtp\web-resources" does not exist.
Run Code Online (Sandbox Code Playgroud)

我查看了项目的部署程序集配置,发现以下错误消息: Cannot find entry: "/target/m2e-wtp/web-resources"

在此输入图像描述

所以我认为Luna的默认Maven安装不是我需要卸载的,我从这个URL安装了M2E-WTP(http://download.eclipse.org/m2e-wtp/releases/luna/)但我相信我最终得到了相同的版本和相同的选项.

据我所知,这个插件可以选择生成这个文件夹/target/m2e-wtp/web-resources,帮助Eclipse将应用程序部署到应用程序服务器中(Run on server选项)

(这是我的最终目标,但是我遇到了使用它所需的依赖项来部署应用程序的问题.如果我通过Installmaven项目生成应用程序的WAR文件并手动部署生成的WAR,那么应用程序可以工作,但我需要能够使用Eclipse在应用程序服务器上调试\运行它.)

但是/target/m2e-wtp/web-resources没有创建这个文件夹(即)!

在Eclipse中 Maven > Java EE Integration > WAR project preferences > Maven archiver generated files under the build directory (I checked this option)

在特定于项目的选项中,我只有一个Maven菜单和一个生命周期映射子菜单,与maven归档文件生成文件无关!

那么如何指导maven输出WTP相关文件呢?

在此输入图像描述

m2eclipse maven-plugin maven m2e m2e-wtp

23
推荐指数
3
解决办法
4万
查看次数

该项目包含具有相同存档名称的另一个依赖项

我在我的标记中看到以下错误(以及其他几个喜欢它):

Invalid classpath publish/export dependency C:/Users/LevineJ/.m2/repository/org/bouncycastle/bcmail-jdk14/1.38/bcmail-jdk14-1.38.jar.
The project contains another dependency with the same archive name.
Run Code Online (Sandbox Code Playgroud)

当我快速搜索时,我会bcmail-jdk14.1.jar在两个位置找到:

  • C:\ Users \用户LevineJ.m2 \库\ BouncyCastle的\ bcmail-JDK14\138
  • C:\ Users \用户LevineJ.m2 \库\组织\ BouncyCastle的\ bcmail-JDK14\1.38

从我对这个主题的阅读(各种帖子/文章),我认为这与我看到的错误有关.有人可以提供一些信息:1.这个错误是什么意思?2.我将如何解决它?

如果它有帮助,我正在使用:

  • Eclipse Java EE - Luna Service Release 1(4.4.1)
  • m2e插件
  • m2e-wtp插件

结果 mvn dependency:tree

C:\Users\LevineJ\Development\default-workspace\adweb>mvn dependency:tree
Picked up _JAVA_OPTIONS: -Dcom.gxs.common.configuration.proxy.envid=totcpa -Dcom.gxs.common.logging.configfilepath=C:\Users\LevineJ\Development\config\adweb\LogCfg.xml -Dcom.gxs.common.configuration.localenvid=adweb -Dcom.gxs.common.logging.sdklogfile=C:\Users\LevineJ\Development\config\adweb\tgo.log -Dcom.gxs.common.configuration.path=C:\Users\LevineJ\Development\config\adweb\CRC
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for com.gxs:adweb:war:${build.number}
[WARNING] 'version' contains an expression but should …
Run Code Online (Sandbox Code Playgroud)

eclipse dependency-management m2e m2e-wtp

8
推荐指数
1
解决办法
2万
查看次数

使用Eclipse中依赖项导入的模式编辑xsd

我有一个maven项目A,在它的classpath中有/xsd/a.xsd.我还有一个带有/xsd/b.xsd的项目B,它通过商品引用/xsd/a.xsd.商品目录如下所示:

PUBLIC "http://foo.org/a" "maven:org.foo:a:jar::!/xsd/a.xsd"
Run Code Online (Sandbox Code Playgroud)

请注意网址中的maven协议.org.jvnet.jaxb2.maven2:maven-jaxb22-plugin使用该目录生成带有依赖项集的JAXB带注释的Java类.

到目前为止一切都很好.

现在我想在Eclipse中编辑/xsd/b.xsd.Eclipse报告警告:

<xsd:import namespace="http://foo.org/a" />
Run Code Online (Sandbox Code Playgroud)

因为没有schemaLocation属性它找不到/xsd/a.xsd.Eclipse无法识别上面定义的商品.

找到的解决方法是在Eclipse/Window/Preferences/XML/XML Catalog中添加一个目录条目:

PUBLIC "http://foo.org/a" "jar:file:/home/alain/maven/repository/org/foo/a/1.0-SNAPSHOT/a-1.0-SNAPSHOT.jar!/xsd/a.xsd"
Run Code Online (Sandbox Code Playgroud)

请注意对本地存储库的引用(maven是.m2的链接)和依赖项目的特定版本a.

任何人都遇到过这个问题并找到了更好的解决方法?

jaxb xmlcatalog eclipse-wtp m2e-wtp

7
推荐指数
1
解决办法
1498
查看次数

支持Eclipse maven的Web应用程序引用工作区项目,但在运行Tomcat服务器时未部署这些项目

我有一个Web应用程序(Eclipse的动态Web应用程序),它使用Maven(m2e-wtp)进行构建和依赖项管理.这个Web应用程序的POM引用了我工作区中的一些其他项目,这些项目恰好是使用maven构建的eclipse插件(使用Tycho构建),以及来自Maven存储库的其他第三方库.

当我从CLI运行maven时,一切正常.所有依赖项都按预期包含在WEB-INF/lib目录中.

问题是当我尝试使用Eclipse运行项目时.我在Eclipse中配置的Tomcat服务器中运行应用程序,但我工作区中引用的项目未添加到已部署的war中.

我尝试将它们添加到部署程序集(在项目首选项下),并且完美地工作,但每次更新maven配置时,m2e都会清除这些设置.我在几个地方读到我们不应该手动添加条目,因为所有依赖项都应该由m2e管理...

问题是:当我从Eclipse运行时,如何让Eclipse将工作区项目依赖项添加到我的Web应用程序的WEB-INF/lib中?

我正在使用Eclipse J2EE 4.3.1(Kepler SR1).

我还尝试右键单击项目并选择Export - > WAR file,但导出的WAR文件也不包括引用的工作区项目.我假设这个问题影响了两个案例.

这非常令人讨厌,而且让我慢慢减速......此时我必须每天多次将项目重新添加到Deployment Assembly页面以保持它...

更新:我在POM中作为依赖项添加的工作空间项目出现在项目属性下的Referenced Projects列表中.但是,当我在Project Explorer中展开Maven依赖项时,列表中缺少工作区项目依赖项!只显示Maven存储库中的那些.他们当地人似乎默默地被忽视了......

java eclipse maven m2e m2e-wtp

7
推荐指数
1
解决办法
808
查看次数

对m2e 1.6的更新导致"生命周期映射冲突"错误

在我的Eclipse Luna SR2(4.4.2)中运行更新后,我安装了m2e 1.6.1.20150625-2338.对于我maven-war-plugin现在使用的项目,我在问题视图中遇到以下错误:

问题观点

全文:

冲突的生命周期映射(插件执行"org.apache.maven.plugins:maven-war-plugin:2.3:war(执行:war-standalone,phase:package)").要启用完整功能,请删除冲突的映射并运行Maven->更新项目配置.

冲突的生命周期映射(插件执行"org.apache.maven.plugins:maven-war-plugin:2.3:war(执行:war-standalone,phase:package)").要启用完整功能,请删除冲突的映射并运行Maven->更新项目配置.

插件配置不会导致以前版本的m2e出现问题.在pom看起来没问题,没什么不寻常的:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <executions>
        <execution>
            <id>war-standalone</id>
            <goals>
                <goal>war</goal>
            </goals>
            <phase>package</phase>
            <configuration>
                ...
            </configuration>
        </execution>
        <execution>
            <id>war-overlay</id>
            <goals>
                <goal>war</goal>
            </goals>
            <phase>package</phase>
            <configuration>
                ...
            </configuration>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

生命周期映射maven-war-plugin未在pom中配置.我检查它是否在父母poms但找不到任何东西.None也在工作空间生命周期映射元数据中.

然后我注意到m2e-wtp插件(映射似乎来自)仍然是旧版本.我将其更新为1.2.0.20150602-1740,但它没有解决问题.

知道如何追踪冲突映射的位置或者如何正确解决问题?

eclipse maven maven-war-plugin m2e m2e-wtp

7
推荐指数
1
解决办法
5838
查看次数

在"正在更新Maven项目"期间发生内部错误.org.eclipse.m2e.wtp.WTPProjectsUtil.isM2eWtpDisabled

我正在使用eclipse kepler和maven v4.0.0以及jboss 7.0和JDK 1.6.我收到以下错误:

java.lang.NoSuchMethodError: org.eclipse.m2e.wtp.WTPProjectsUtil.isM2eWtpDisabled(Lorg/eclipse/m2e/core/project/IMavenProjectFacade;Lorg/eclipse/core/runtime/IProgressMonitor;)Z
    at org.eclipse.m2e.wtp.jaxrs.internal.configurators.JaxRsProjectConfigurator.isConfigurationEnabled(JaxRsProjectConfigurator.java:100)
    at org.eclipse.m2e.wtp.jaxrs.internal.configurators.JaxRsProjectConfigurator.configureInternal(JaxRsProjectConfigurator.java:75)
    at org.eclipse.m2e.wtp.jaxrs.internal.configurators.JaxRsProjectConfigurator.mavenProjectChanged(JaxRsProjectConfigurator.java:180)
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.mavenProjectChanged(ProjectConfigurationManager.java:965)
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.notifyProjectChangeListeners(ProjectRegistryManager.java:746)
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.applyMutableProjectRegistry(ProjectRegistryManager.java:865)
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:289)
    at org.eclipse.m2e.core.internal.project.registry.MavenProjectManager.refresh(MavenProjectManager.java:67)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder.getProjectFacade(MavenBuilder.java:216)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.call(MavenBuilder.java:91)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.call(MavenBuilder.java:1)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:161)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:137)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:89)
    at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1305)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:89)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:733)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:206)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:246)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:299)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:302)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:358)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:381)
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Run Code Online (Sandbox Code Playgroud)

请帮我.

java eclipse maven m2e-wtp

7
推荐指数
1
解决办法
4708
查看次数

生命周期未涵盖Eclipse Luna maven-jar-plugin执行

我有一个使用maven-jar-plugin的maven java项目(部署到jboss,如果这很重要).使用Eclipse Kepler可以正常工作.我现在正在尝试Luna(EE版),现在我遇到了这个错误

Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-jar-plugin:2.5:jar (execution: make-a-jar, phase: compile)
Run Code Online (Sandbox Code Playgroud)

在我的所有子.pom文件中(maven-jar-plugin在父.pom文件中指定,但错误指向子.poms中的块).

在.pom查看器中,如果我单击Overview选项卡中的错误消息,它会为我提供"发现新的m2e连接器"选项.单击此按钮会显示"m2e Marketplace"对话框,似乎可以执行大量工作,但之后只显示一个空列表.如果我单击"完成",它会尝试计算依赖项,然后给我这个错误:

Operation details
Cannot complete the request.  See the error log for details.
"m2e connector for mavenarchiver pom properties" will be ignored because a newer version is already installed. 
Run Code Online (Sandbox Code Playgroud)

所以似乎maven-jar-plugin可能依赖于特定版本的mavenarchiver,但Eclipse Luna EE附带了更新的版本.有没有办法解决这个问题,或者我只是要等待发布更新版本的maven-jar-plugin?(我目前正在使用2.5版的maven-jar-plugin,这是我所知道的最新版本.)

maven-jar-plugin m2e m2e-wtp eclipse-luna

6
推荐指数
1
解决办法
2616
查看次数