java jetty的classpath_【译】用maven使java web应用运行在内嵌的Jetty或Tomcat容器中

开发java web应用时,能在“真实”的环境中有快速的反馈是非常实用的。本文将探寻如何使用maven使java

web应用运行在内嵌的Jetty或Tomcat容器中。我将展示如何配置他们来开发Podcastpedia.org网站的工程podcastpedia。

环境准备

你需要有Maven,至少安装了Java 7。正常情况你应该可以自行部署和启动podcastpedia工程并看到效果

Jetty Maven Plugin

插件配置

org.eclipse.jetty

jetty-maven-plugin

${jetty.version}

${project.basedir}/src/main/resources/config/jetty9.xml

STOP

9999

5

${project.basedir}/src/main

${project.basedir}/src/test

${project.basedir}/src/test/resources/jetty-context.xml

/

mysql

mysql-connector-java

${mysql.connector.java.version}

javax.mail

mail

${java.mail.version}

org.apache.tomcat

tomcat-jdbc

${tomcat.jdbc.version}

注意:jettyConfig 指定Jetty的配置文件,下一部分将有该配置文件的具体内容

scanTargets 指定了Jetty监控文件变化的文件夹

指定连接数据库和发邮件的 依赖包

Jetty.xml配置文件<?xml  version="1.0" encoding="UTF-8"?>

jdbc/pcmDB

jdbc:mysql://localhost:3307/pcmDB?allowMultiQueries=true

pcm

pcm_pw

mail/Session

test-dev@podcastpedia.org

test-dev

mail.podcastpedia.org

true

smtp

25

true

在 Jetty配置文件 中,你需要配置一下内容:Server类(或者子类)以及全局的可选项

一个线程池(最小、最大线程数)

Connectors连接器(端口号、超时时间、缓冲区大小、协议)

处理器结构(handler structure)(默认的处理器或者一个contextHandlerCollections)

扫描部署的webapps和容器上下文的部署管理器

提供认证的登录服务

请求日志

Apache Tomcat Maven插件

apache tomcat maven插件的配置

org.apache.tomcat.maven

tomcat7-maven-plugin

2.2

8080

/

context.xml

${project.build.directory}/appserver-base

${project.build.directory}/appserver-home

${project.build.directory}/appserver-base/logs

${project.build.directory}

false

mysql

mysql-connector-java

${mysql.connector.java.version}

javax.mail

mail

${java.mail.version}

org.apache.tomcat

tomcat-jdbc

${tomcat.jdbc.version}

注意:指定tomcat的 端口号

指定 contextFile ,用来告诉tomcat配置文件在哪里

指定连接数据库和发邮件的 依赖包

context.xml

name="jdbc/pcmDB"

auth="Container"

type="javax.sql.DataSource"

factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"

initialSize="5"

maxActive="55"

maxIdle="21"

minIdle="13"

timeBetweenEvictionRunsMillis="34000"

minEvictableIdleTimeMillis="55000"

validationQuery="SELECT 1"

validationInterval="34"

testOnBorrow="true"

removeAbandoned="true"

removeAbandonedTimeout="233"

username="pcm"

password="pcm_pw"

driverClassName="com.mysql.jdbc.Driver"

url="jdbc:mysql://localhost:3307/pcmDB?allowMultiQueries=true"

/>

type="javax.mail.Session"

username="test-dev@podcastpedia.org"

password="test-dev"

mail.smtp.host="mail.podcastpedia.org"

mail.smtp.port="25"

mail.smtp.user="test-dev@podcastpedia.org"

mail.transport.protocol="smtp"

mail.smtp.auth="true"

/> 

在context.xml中,定义了数据库和邮件资源

就这样,使用了spring框架的Java web应用可以运行轻量级的servlet容器,显然这种方式可以代替JavaEE服务器及其带来的所有成本。

参考

翻译:http://www.javacodegeeks.com/2015/06/run-java-web-apps-in-embedded-containers-with-maven-jetty-and-tomcat.html

Post Footer automatically generated by wp-posturl plugin for wordpress.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值