我有问题通过使用eclipse的集成插件WTP来找到插件sysdeo的性能.
为了进行迁移并进行比较,我在eclipse中的不同项目中安装了两个.
根据我的理解,我注意到了生产力的差异:WTP需要在目录构建中发布源代码,以便tomcat安排它们.这种"脉动"很长:需要对上下文进行充电,以便可以看到修改.(5在大多数院子里干燥15秒 - 最长20秒).
Sysdeo没有; 一旦eclipse构建了修改文件,eclipse构建就会在项目内部构建内部目标,eclipse就会立即构建内部目标(浏览器上的F5,我们立即得到结果).
这是我的服务器配置:
选项"提供没有发布的模块"允许使sydeo成为正确的选择:选择正在运行的项目的构建目录.此配置在上下文文件中表达自己.(它能够取回我已经检查过"发布调制上下文到serparate XML行")
这些文件的比较:
Run Code Online (Sandbox Code Playgroud)< Context path="/tatoile _syseo" reloadable="false" docBase="D:\32bit\serveur32bit\workspace\tatoile _syseo" workDir="D:\32bit\serveur32bit\workspace\tatoile _syseo\work" />
<?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项目:
我在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)
如何禁用此验证以摆脱这个恼人的警告?
我最近从日食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运行项目.
我安装了
我正在使用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
选项)
(这是我的最终目标,但是我遇到了使用它所需的依赖项来部署应用程序的问题.如果我通过
Install
maven项目生成应用程序的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相关文件呢?
我在我的标记中看到以下错误(以及其他几个喜欢它):
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
在两个位置找到:
从我对这个主题的阅读(各种帖子/文章),我认为这与我看到的错误有关.有人可以提供一些信息:1.这个错误是什么意思?2.我将如何解决它?
如果它有帮助,我正在使用:
结果 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) 我有一个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.
任何人都遇到过这个问题并找到了更好的解决方法?
我有一个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存储库中的那些.他们当地人似乎默默地被忽视了......
在我的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 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)
请帮我.
我有一个使用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,这是我所知道的最新版本.)
m2e-wtp ×10
eclipse ×7
m2e ×6
java ×5
maven ×5
eclipse-wtp ×2
m2eclipse ×2
eclipse-luna ×1
jaxb ×1
maven-plugin ×1
tomcat ×1
xmlcatalog ×1