dco*_*led 20 eclipse tomcat m2eclipse eclipse-wtp maven
我正在尝试使用Eclipse Indigo和Tomcat服务器建立一个基本的hello world项目.我用一个简单的servlet创建了一个动态项目.测试了servlet并且工作正常.然后我启用了Maven支持并添加了logback到我的pom.我在servlet的doGet方法中放了一个日志语句.当运行servlet时,它抱怨它找不到任何绑定,因为没有将logback jar复制到Eclipse tomcat实例中.我希望在这里的某处发现罐子:
${workspace}\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\
如何让Eclipse正常使用WTP/Maven?我也试过安装m2e-wtp连接器没有区别.
小智 51
检查部署程序集(项目上下文菜单),必须映射Maven Dependencies - > WEB-INF/lib.
dco*_*led 13
来自ASP.NET背景,我发现使用Eclipse WTP和Maven运行webapp所需的工作量令人震惊,尤其是如果您自己学习的话.希望这个快速入门指南可以帮助其他人快速上手.
使用Maven在Eclipse WTP中使用hello world项目有两种方法.您可以创建一个动态Web项目,然后添加Maven性质,或者您可以执行相反的操作.
带有更新站点的Eclipse的先决条件
"Web,XML,Java EE和OSGi企业开发"
http://download.eclipse.org/releases/indigo
"Maven Integration for Eclipse"
http://download.jboss.org/jbosstools/updates/m2eclipse-wtp/
"WTP的Maven集成"
http://download.jboss.org/jbosstools/updates/m2eclipse-wtp/
启动配置
从http://tomcat.apache.org/download-70.cgi安装Tomcat 7的副本
窗口 - >首选项 - >服务器 - >运行时环境
选项1:创建动态Web项目,然后添加Maven Nature
创建新的Maven项目,选择原型 org.apache.maven.archetypes:maven-archetype-webapp
更改为Java EE透视图.
创建一个新的源文件夹src\main\java.请注意Eclipse不够智能,无法为您执行此操作,并且文件夹的顺序也不正确. src\main\java文件夹列在src\main\resources之后.这可以稍后在项目属性中手动修复.
创建一个新的servlet.请注意Eclipse如何在错误的文件夹src\main\resources中默认此文件,因为顺序错误.而是手动选择src\main\java.将向导第二页上的URL映射更改为/*以使测试更容易.
现在我们的servlet已经准备就绪,但是对servlet api的依赖是未绑定的.A)我们可以将servlet api添加为项目的依赖项,或者B)我们可以绑定到Apache 7.0的Eclipse服务器配置.
对于选项A,将此依赖项添加到pom:
.
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-api</artifactId>
<version>7.0.${set this}</version>
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
对于选项B:
内部浏览器中应出现一个空白页面,如http:// localhost:8080 / $ {artifact}
依赖发布测试:
加入joda-time到pom.
在先前为doGet方法创建的servlet中添加此行,并导入必要的依赖项:
.
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().println("The time is now: " + new DateTime().toString());
}
Run Code Online (Sandbox Code Playgroud)
重新加载测试页面,输出现在应该是:
现在时间:2012-03-03T14:14:29.890-05:00
现在,如果您想使用Servlet 3.0和注释,默认情况下不会启用此功能,原因我不知道.首先通过将Java 1.6添加到您的pom来强制Maven使用Java 1.6,否则每次更新pom时,配置都将恢复为Java 1.5.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
打开项目属性 - >项目构面.将"Dynamic Web Module"下的Version更改为3.0,更改java版本1.6
在src\main\java中创建一个名为AnnotatedServlet的新Servlet,并注意如何自动创建@WebServlet注释.
选项2:创建动态Web项目,然后添加Maven Nature
response.getWriter().println("Another test");
双击"部署描述符"并将此属性添加到根web-app元素 metadata-complete="false"
右键单击项目,然后选择Run As - > Run On Server
.
<dependencies>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22722 次 |
| 最近记录: |