如何告诉Maven 2加载Servlet 3.0 API?
我试过了:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我使用http://repository.jboss.com/maven2/但是哪个存储库是正确的?
附录:
它适用于整个Java EE 6 API的依赖项和以下设置:
<repository>
<id>java.net</id>
<url>http://download.java.net/maven/2</url>
</repository>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我更愿意只将Servlet API添加为依赖项,但"Brabster"可能是正确的,Java EE 6配置文件已替换了单独的依赖项.是否有来源证实了这一假设?
在我的Web应用程序中,我必须向一组预定义用户发送电子邮件finance@xyz.com,因此我希望将其添加到.properties文件中并在需要时访问它.这是一个正确的程序,如果是这样,那么我应该在哪里放置这个文件?我正在使用Netbeans IDE,它有两个单独的文件夹用于源文件和JSP文件.
我意识到它实际上转换为Java Enterprise Edition.但我要问的是这究竟意味着什么?当一家公司需要Java EE经验时,他们真正需要什么?有EJB经验吗?有Java Web应用程序的经验?
我怀疑这意味着不同的人有不同的东西,而且定义是主观的.
我在Eclipse中开发了一个动态Web项目.现在我可以使用以下URL通过浏览器访问它:
http://localhost:8080/MyDynamicWebApp
Run Code Online (Sandbox Code Playgroud)
现在我想将访问URL更改为
http://localhost:8080/app
Run Code Online (Sandbox Code Playgroud)
我从项目"属性| Web项目设置|上下文根"中更改了上下文根.
但它没有用.Web应用程序仍具有之前的访问URL.我已经在Tomcat上重新部署了应用程序,重新启动了Tomcat并完成了应该完成的所有操作,但访问URL与之前的相同.
我发现该server.xml文件没有附加WAR文件.那么Tomcat如何确定我的Web应用程序的上下文根server.xml并允许我通过该URL访问应用程序?
我可以知道之间有什么区别: -
这些技术/框架是否相互补充?或者它们是彼此的替代品(在我使用其中一个之后,我不需要使用另一个)?
谢谢.
我是Java EE的新手,我正在尝试理解本地接口和远程接口的概念.我被告知Java EE的一大优势是它易于扩展(我相信这意味着您可以在不同的服务器上部署不同的组件).是远程和本地接口进来的地方吗?如果您希望应用程序在不同的服务器上具有不同的组件,您是否应该使用远程接口?如果您的应用程序只驻留在一台服务器上,请使用本地接口?
如果我的上述假设是正确的,那么您将如何选择是否为新应用程序使用本地或远程接口,而您不确定流量的大小是多少?从使用本地接口开始,逐步升级到适用的远程接口?
感谢您的任何澄清和建议.
org.apache.maven.plugin.PluginResolutionException: Plugin org.apache.maven.plugins:maven-resources-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin:jar:2.5
at org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver.resolve(DefaultPluginDependenciesResolver.java:129)
at org.eclipse.m2e.core.internal.project.registry.EclipsePluginDependenciesResolver.resolve(EclipsePluginDependenciesResolver.java:48)
at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getPluginDescriptor(DefaultMavenPluginManager.java:142)
at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getMojoDescriptor(DefaultMavenPluginManager.java:261)
at org.apache.maven.plugin.DefaultBuildPluginManager.getMojoDescriptor(DefaultBuildPluginManager.java:185)
at org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.setupMojoExecution(DefaultLifecycleExecutionPlanCalculator.java:152)
at org.eclipse.m2e.core.internal.embedder.MavenImpl.setupMojoExecution(MavenImpl.java:386)
at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.setupMojoExecution(ProjectRegistryManager.java:865)
at org.eclipse.m2e.core.internal.project.registry.MavenProjectFacade.getMojoExecution(MavenProjectFacade.java:355)
at org.eclipse.m2e.core.project.configurator.AbstractCustomizableLifecycleMapping.getBuildParticipants(AbstractCustomizableLifecycleMapping.java:66)
at org.eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:87)
at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:414)
at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:351)
at org.eclipse.m2e.core.ui.internal.UpdateMavenProjectJob.runInWorkspace(UpdateMavenProjectJob.java:74)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: org.sonatype.aether.resolution.ArtifactDescriptorException: Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin:jar:2.5
at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:296)
at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:186)
at org.sonatype.aether.impl.internal.DefaultRepositorySystem.readArtifactDescriptor(DefaultRepositorySystem.java:279)
at org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver.resolve(DefaultPluginDependenciesResolver.java:115)
Run Code Online (Sandbox Code Playgroud)
我已经阅读过许多人能够解决这个问题的方法:
从本地存储库中删除的文件夹,并让它重新下载它(这并没有工作)
通过配置Eclipse来定位您的Maven安装,而不是嵌入在一个这里描述的(这并没有工作)
无法计算构建计划:工件org.apache.maven.plugins:maven-resources-plugin:pom:2.4.3在本地存储库中不可用
我是Maven的新手,请原谅我的无知
这个项目正在另一台机器上运行,只是在这个机器上的存储库中将其拉下来,安装了相同版本的eclipse和m2e插件.我现在已经愚弄了这个超过10个小时,它让我疯了(到目前为止,Maven对我来说只是头疼......)任何帮助都非常感谢!提前致谢! …
我在这里有点困惑.在我们的应用程序中,我们定义了一些servlet.以下是web.xml其中一个servlet 的摘录:
<servlet>
<servlet-name>AxisServlet</servlet-name>
<display-name>Apache-Axis Servlet</display-name>
<servlet-class>com.foo.framework.axis2.http.FrameworkServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
Run Code Online (Sandbox Code Playgroud)
根据我的理解,它的值<load-on-startup>必须是一个正整数才能自动加载.我在谷歌上查了一下,但我遇到的回复只会增加我的困惑.
昨天我从Eclipse切换到了Intellij.
我也在使用jRebel和Websphere Server 7.
现在一切似乎都工作得很好,除了当我修改 Java文件并点击保存时,Intellij 不会重新编译该文件,以便jRebel获取它.
日食" 自动构建 "功能解决了这个问题.
在Intellij中,我必须按CTRL + SHIFT + 9重新编译jRebel的相关类才能获取它.如果在两个文件之间进行了更改,我必须在每个文件上执行此操作,因为Intellij使用了save all机制,所以很难知道手动重新编译的内容,我也不感兴趣.
难道没有办法让Intellij独自完成这项工作吗?