在有源码有tomcat 数据库配置的情况下怎么用tomcat在本地搭建一个单机环境

博客访问:
博文数量: 966
注册时间:
认证徽章:
每日发文,或技术、或总结,偶有日间小事也以为记,谓之学习笔记,成年累月800多天,中间几乎没有间断,要旨只有一个:学习交流,共同进步 。
学习笔记精华整理,个人新书《Oracle DBA工作笔记》已开售,在京东,当当,亚马逊,淘宝,天猫均有售,欢迎选购。
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Java技术
关于tomcat源码的编译和环境搭建自己也是拖了一段时间,今天还是硬着头皮来做一做,还是有所收获。
tomcat源码的编译还是首选ant,作为apache的顶级项目ant,可以参见下面的链接进行下载,下载一个二进制运行包即可。
http://ant.apache.org/bindownload.cgi
然后就需要在path中配置了。
简单的校验
C:\Users\jeanron>ant -version
Apache Ant(TM) version 1.9.5 compiled on May 31 2015
然后下载tomcat的源码,在tomcat.apache.org中可以选择,为了兼容jdk版本,我选择的是tomcat7
下载解压后,需要在目录中修改下面的文件。
重命名build.properties.default 为build.properties
然后在build.properties中修改base.path
base.path=/usr/share/java
因为本地是windows环境,所以修改为下面的样式。
base.path=D:/tomcat7/output
根据官方建议,最好还是build.properties中配置下面的proxy配置。自己在本地比较了下,不配置基本上界面没什么反应,配置之后速度还是很快的。
proxy.use=on
proxy.host=proxy.domain
proxy.port=8080
proxy.user=username
proxy.password=password
当然了jdk版本也是必须的,我在本地使用的1.6.
然后就开始build。
D:\tomcat7>ant
Buildfile: D:\tomcat7\build.xml
build-prepare:
& & [mkdir] Created dir: D:\tomcat7\output\classes
& & [mkdir] Created dir: D:\tomcat7\output\build
& & [mkdir] Created dir: D:\tomcat7\output\build\bin
& & [mkdir] Created dir: D:\tomcat7\output\build\conf
& & [mkdir] Created dir: D:\tomcat7\output\build\lib
& & [mkdir] Created dir: D:\tomcat7\output\build\logs
& & [mkdir] Created dir: D:\tomcat7\output\build\temp
& & [mkdir] Created dir: D:\tomcat7\output\build\webapps
download-compile:
testexist:
& & &[echo] Testing &for D:/tomcat7/output/tomcat-native-1.1.33/tomcat-native.ta
downloadfile-2:
proxyflags:
& & &[echo] Using proxy.domain:8080 to download http://www.apache.org/dist/tomca
t/tomcat-connectors/native/1.1.33/source/tomcat-native-1.1.33-src.tar.gz
trydownload.check:
trydownload:
& & & [get] Getting: http://www.apache.org/dist/tomcat/tomcat-connectors/native/
1.1.33/source/tomcat-native-1.1.33-src.tar.gz
& & & [get] To: D:\tomcat7\output\download-.tmp
当然了build的过程也不是一帆风顺的,比如网络的问题,直接超时退出。
D:\tomcat7\build.xml:2927: java.net.ConnectException: Connection timed out: conn
& & & & at java.net.DualStackPlainSocketImpl.connect0(Native Method)
& & & & at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketI
mpl.java:79)
& & & & at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.ja
& & & & at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocket
Impl.java:200)
在另外一台环境中使用jdk 1.7的版本,竟然在build的时候有些问题。
& & [javac] & & & &^
& & [javac] D:\tomcat7\output\tomcat7-deps\dbcp\src\java\org\apache\tomcat\dbcp\
dbcp\datasources\PerUserPoolDataSource.java:60: 错误: PerUserPoolDataSource不是
抽象的, 并且未覆盖CommonDataSource中的抽象方法getParentLogger()
& & [javac] public class PerUserPoolDataSource
& & [javac] & & & &^
& & [javac] D:\tomcat7\output\tomcat7-deps\dbcp\src\java\org\apache\tomcat\dbcp\
dbcp\datasources\SharedPoolDataSource.java:52: 错误: SharedPoolDataSource不是抽
象的, 并且未覆盖CommonDataSource中的抽象方法getParentLogger()
& & [javac] public class SharedPoolDataSource
& & [javac] & & & &^
& & [javac] 注: 某些输入文件使用或覆盖了已过时的 API。
& & [javac] 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
& & [javac] 注: 某些输入文件使用了未经检查或不安全的操作。
& & [javac] 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
& & [javac] 15 个错误
& & [javac] 1 个警告
BUILD FAILED
D:\tomcat7\build.xml:2686: The following error occurred while executing this lin
D:\tomcat7\build.xml:2790: C see the compiler error output for det
Total time: 1 minute 21 seconds
最后换成1.6就没有问题了。
&&& [javac] Compiling
31 source files to C:\tomcat7\output\jdbc-pool\classes
&&&&& [jar] Building
jar: C:\tomcat7\output\jdbc-pool\tomcat-jdbc.jar
&&&& [copy] Copying 1
file to C:\tomcat7\output\build\lib
BUILD SUCCESSFUL
Total time: 2 minutes 1 second
源码的编译高一段落,接下来就是在eclipse中导入了,
可以直接新建一个java project,然后选择tomcat源码的路径即可。导入源码的截图如下:
当然了还有依赖的包。
还有几个依赖的包,比如ant...
不过直接通过eclipse还是能够顺利启动的
INFO: Deploying web application
directory C:\tomcat7\webapps\ROOT
Jun 29, :20 PM
org.apache.catalina.startup.TldConfig execute
INFO: At least one JAR was scanned
for TLDs yet contained no TLDs. Enable debug logging for this logger for a
complete list of JARs that were scanned but no TLDs were found in them.
Skipping unneeded JARs during scanning can improve startup time and JSP
compilation time.
Jun 29, :20 PM
org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application
directory C:\tomcat7\webapps\ROOT has finished in 27 ms
Jun 29, :20 PM
org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler
["http-bio-8080"]
Jun 29, :20 PM
org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler
["ajp-bio-8009"]
Jun 29, :20 PM
org.apache.catalina.startup.Catalina start
INFO: Server startup in 626 ms
阅读(5995) | 评论(0) | 转发(1) |
相关热门文章
学习Timer类,定制自己的调度...
给主人留下些什么吧!~~
请登录后评论。当前位置:正文
微信扫一扫分享到朋友圈
关于tomcat源码的编译和环境搭建自己也是拖了一段时间,今天还是硬着头皮来做一做,还是有所收获。tomcat源码的编译还是首选ant,作为apache的顶级项目ant,可以参见下面的链接进行下载,下载一个二进制运行包即可。http://ant.apache.org/bindownload.cgi然后就需要在path中配置了。简单的校验C:\Users\jeanron&ant -versionApache Ant(TM) version 1.9.5 compiled on May 31 2015然后下载tomcat的源码,在tomcat.apache.org中可以选择,为了兼容jdk版本,我选择的是tomcat7下载解压后,需要在目录中修改下面的文件。重命名build.properties.default 为build.properties然后在build.properties中修改base.path默认是:base.path=/usr/share/java因为本地是windows环境,所以修改为下面的样式。base.path=D:/tomcat7/output根据官方建议,最好还是build.properties中配置下面的proxy配置。自己在本地比较了下,不配置基本上界面没什么反应,配置之后速度还是很快的。proxy.use=onproxy.host=proxy.domainproxy.port=8080proxy.user=usernameproxy.password=password当然了jdk版本也是必须的,我在本地使用的1.6.然后就开始build。D:\tomcat7&antBuildfile: D:\tomcat7\build.xmlbuild-prepare:
[mkdir] Created dir: D:\tomcat7\output\classes
[mkdir] Created dir: D:\tomcat7\output\build
[mkdir] Created dir: D:\tomcat7\output\build\bin
[mkdir] Created dir: D:\tomcat7\output\build\conf
[mkdir] Created dir: D:\tomcat7\output\build\lib
[mkdir] Created dir: D:\tomcat7\output\build\logs
[mkdir] Created dir: D:\tomcat7\output\build\temp
[mkdir] Created dir: D:\tomcat7\output\build\webappsdownload-compile:testexist:
[echo] Testing
for D:/tomcat7/output/tomcat-native-1.1.33/tomcat-native.tar.gzdownloadfile-2:proxyflags:setproxy:
[echo] Using proxy.domain:8080 to download http://www.apache.org/dist/tomcat/tomcat-connectors/native/1.1.33/source/tomcat-native-1.1.33-src.tar.gztrydownload.check:trydownload:
[get] Getting: http://www.apache.org/dist/tomcat/tomcat-connectors/native/1.1.33/source/tomcat-native-1.1.33-src.tar.gz
[get] To: D:\tomcat7\output\download-.tmp当然了build的过程也不是一帆风顺的,比如网络的问题,直接超时退出。D:\tomcat7\build.xml:2927: java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)在另外一台环境中使用jdk 1.7的版本,竟然在build的时候有些问题。....
[javac] D:\tomcat7\output\tomcat7-deps\dbcp\src\java\org\apache\tomcat\dbcp\dbcp\datasources\PerUserPoolDataSource.java:60: 错误: PerUserPoolDataSource不是抽象的, 并且未覆盖CommonDataSource中的抽象方法getParentLogger()
[javac] public class PerUserPoolDataSource
[javac] D:\tomcat7\output\tomcat7-deps\dbcp\src\java\org\apache\tomcat\dbcp\dbcp\datasources\SharedPoolDataSource.java:52: 错误: SharedPoolDataSource不是抽象的, 并且未覆盖CommonDataSource中的抽象方法getParentLogger()
[javac] public class SharedPoolDataSource
[javac] 注: 某些输入文件使用或覆盖了已过时的 API。
[javac] 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
[javac] 注: 某些输入文件使用了未经检查或不安全的操作。
[javac] 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
[javac] 15 个错误
[javac] 1 个警告BUILD FAILEDD:\tomcat7\build.xml:2686: The following error occurred while executing this line:D:\tomcat7\build.xml:2790: C see the compiler error output for details.Total time: 1 minute 21 seconds最后换成1.6就没有问题了。build:
[javac] Compiling 31 source files to C:\tomcat7\output\jdbc-pool\classes
[jar] Building jar: C:\tomcat7\output\jdbc-pool\tomcat-jdbc.jar
[copy] Copying 1 file to C:\tomcat7\output\build\lib BUILD SUCCESSFULTotal time: 2 minutes 1 second源码的编译高一段落,接下来就是在eclipse中导入了,可以直接新建一个java project,然后选择tomcat源码的路径即可。导入源码的截图如下:当然了还有依赖的包。还有几个依赖的包,比如ant...不过直接通过eclipse还是能够顺利启动的INFO: Deploying web application directory C:\tomcat7\webapps\ROOTJun 29, :20 PM org.apache.catalina.startup.TldConfig executeINFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.Jun 29, :20 PM org.apache.catalina.startup.HostConfig deployDirectoryINFO: Deployment of web application directory C:\tomcat7\webapps\ROOT has finished in 27 msJun 29, :20 PM org.apache.coyote.AbstractProtocol startINFO: Starting ProtocolHandler [&http-bio-8080&]Jun 29, :20 PM org.apache.coyote.AbstractProtocol startINFO: Starting ProtocolHandler [&ajp-bio-8009&]Jun 29, :20 PM org.apache.catalina.startup.Catalina startINFO: Server startup in 626 ms
分享给好友
分享到微信朋友圈:
第一步 打开微信底部扫一扫
第二步 扫下面的文章二维码
第三步 右上角点击转发
相关文章Relevant
点击题目下方视觉志,关注中国顶尖视觉杂志文 / 只对你说这大概是女人想脱光(脱离光棍)的九个瞬间吧.你有过吗?1.每天上班挤...
贰角钱上的姑娘
人民币上的人物,许多人以为是画家“杜撰”的,殊不知真有其人.这些我们熟悉的陌生人是怎么上了人民币,背后...
7分钟回顾Youtube2014精彩瞬间,好奇葩的一年!剪辑太精彩
一个年轻美丽的女人躺在医院的病床上,苍白的脸看着眼前这位帅气的男人说,老公,别在折腾了,我们已经没有钱了,男人笑看着女...
小编 今天要介绍的这些名人,如果单独拿出他们年轻、年老时的照片,你绝对不会认出这是同一个人!如果真的有时光机,多少年前,...
这个世界有一种男盆友,他的摄影技术不过关.然后呢?他就没有然后了.这件事情告诉我们两个道理.一个是男人要学会拍照.另一...Tomcat(34)
一,相关文件下载
1.java,eclipse 这些必备的就不说了。
下载Source Code Distributions。因为是在windows环境,所以下的是zip包。
二,解压src包,可以看到已经存在eclipse.classpath,eclipse.project 这两个文件,经常用eclipse的人应该就知道这个目录已经是eclipse的工程目录了,只要使用eclipse 的import就可以导入工程,不过郁闷的是import时提示这不是eclipse的工程,对比机子上其他eclipse工程结果发现windows上的文件是.classpath,.project 的样式的,试着更改原来的文件,windows提示名称不允许为空。直接拷贝一份其他工程的这两个文件用文本编辑器打开,把eclipse.classpath,eclipse.project
的内容分别覆盖这两个文件。导入eclipse的就成功了。
三,解决依赖的包
导入eclipse成功之后,会发现工程出错,查看出错的详细信息发现一个是因为ANT_HOME环境变量没有设置,导致ant.jar没有导入成功,没有安装ant的需要装下ant,设置好ANT_HOME 变量,我是直接通过通过eclipse的java build path-&Add Variable 来指定的。这时还有一个TOMCAT_LIBS_BASE/ecj-3.3.1/ecj-3.3.1.jar 找不到,上网查了下,原来tomcat还需要别的依赖包。从Tomcat的源代码文件找到build.properties.default文件,并将该文件复制到build.properties,然后打开build.properties,找到下面这行:
base.path=/usr/share/java
将它改为:
base.path= tomcat源文件目录/share
在Tomcat编译过程中,Ant会让我们下载一些必要的依赖项目,base.path目录就是用来保存这些项目文件的,我们可以将这个属性指向一个已经存在的目录。修改完base.path后,我们回到MS-DOS窗口,切换到Tomcat源代码所在目录,然后运行ant download命令。大概需要十几分钟的时间,完成之后就会发现在share目录下多出了几个文件。这个时候通过Add Variable 增加TOMCAT_LIBS_BASE 变量将其指向share文件夹就可以顺利编译通过了。
现在就可通过debug Bootstrap来断点跟踪了。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1398907次
积分:13815
积分:13815
排名:第606名
原创:29篇
转载:818篇
评论:133条
(1)(3)(9)(4)(1)(2)(1)(2)(1)(4)(1)(10)(4)(8)(16)(6)(7)(13)(23)(10)(11)(7)(17)(14)(11)(32)(30)(20)(17)(28)(22)(59)(19)(17)(7)(8)(12)(11)(9)(30)(16)(18)(14)(68)(64)(31)(23)(50)(26)(27)(2)Java(74)
第一步:获取Apache Tomcat7源码,读者可以从Apache 官方网站获取,官方下载地址:
注意选择Source Code Distributions下方的链接进行源码下载。
第二步:Eclipse中新建一个Java Project,例如名称可以是apache-tomcat-source。
第三步:在工程上点击右键=&Import=&General=&File System,点击Next按钮。
第四步:点击Browser按钮,找到tomcat源码解压路径,勾选java、test、conf和webapps目录(注意不需要勾选examples目录),点击Finish按钮。
第五步:在java和test目录上点击右键=&Build Path=&Use As Source Folder將这两个目录设为源码目录。同时可以删除工程中原有的src目录了。
导入后如下图所示:
第六步:解决导入后工程中出现的错误。
首先需要將tomcat依赖的jar包添加到工程中,需要以下几个:
ecj-4.4.2.jar
jaxrpc.jar
wsdl4j-1.5.2.jar
在工程中新建一个lib目录,將这些jar包放到该目录下,同时添加到build path中。
apache tomcat采用junit作为单元测试工具,我们需要为工程添加Junit支持,在工程上点击右键=&Properties=&Java build path。
点击Add Library按钮,选择Junit4即可。
错误终于全部解决了,找到程序入口类Bootstrap,右键=&Run As=&Java Application启动tomcat。打开浏览器访问http:localhost:8080
我们看到了久违的界面,OK,完全没有问题,接下来就开始欣赏大师们写的代码吧,在main方法中打个断点,逐步跟踪就可以分析tomcat的启动过程了。
至于Tomcat是如何处理Http请求的笔者向大家推荐一本非常不错的书籍:
英文版:How Tomcat Works
中文版:深入剖析Tomcat
Apache Tomcat7源码Eclipse工程下载地址:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:77189次
积分:2186
积分:2186
排名:第12847名
原创:108篇
转载:32篇
译文:22篇
评论:28条
IT图书创作中,博客暂时暂停更新,请谅解~
请勿发站内信,邮件联系我~
联系方式:
阅读:3813
文章:12篇
阅读:6914
阅读:5313
文章:11篇
阅读:5608
文章:12篇
阅读:19338Tomcat 源码学习(一)--Tomcat_7.0.70 源码运行环境搭建
# 1、源码下载 #[下载地址](/tomcat/tomcat-7/v7.0.70/src/apache-tomcat-7.0.70-src.zip)# 2、环境配置 ### 2.1 新建eclipse项目 ##新建项目tc7.0.70,其他设置默认就好。![](/MB1PvoU.png) 项目建立好之后修改此项目的编译环境, 请选择编译环境为1.6,选择1.7会报错(tomcat-dbcp.jar依赖的是jdk1.6, 选择1.7在建立的时候会报错,这个大家可以尝试下看看是不是),下图就是选择编译环境为1.7的时候报的错误。![](/NxcOK1m.png) 修改编译环境:选中项目右键->Properties->Java Complier 如下图:![](/OWOEZBE.png)## 2.2 导入源码 ##将下载的tomcat源码包解压开:![](/7Dqz8Ry.png) 修改bin目录为script(为什么要这样做?因为新建的Java项目中默认编译后的文件 存放目录是bin,这样做防止编译后的文件覆盖原来拷贝过去的内容。)![](/9kHqG1Q.png) 修改之后拷贝到Eclipse里新建的项目根目录下:![](/p0itBCq.png) 将项目中默认的src目录删掉,java和test作为源目录。如图这样操作选中java和test目录:![](/HuvMgE0.png)
转换之后如图:(这里有红叉,不要管它,后面就解决这个问题)![](/rQHdiwu.png)## 2.3 添加需要的jar ##上面说到转换之后有红叉,很明显是缺少一些jar,这就需要我们自己手动添加了,所以我新建了一个depend的文件:![](/DlWT9WE.png) 缺少的这些jar包,我整理下统一放在云盘了,大家从下面的地址下载就可以了,不用再来回找了。[缺少的jar下载](/s/1eSjrr1o),大家下载之后直接解压,然后放在depend下:![](/FQ5eorf.png)把这些jar包加入到编译路径里,如图:![](/bcaGd4p.png)此时发现test目录下还有错误,实际上是因为test里面用到了junit的一些注解,所以需要将junit4引进来选中项目右键->Properties->Java Build Path如下图:![](/Egwm8ZO.png)![](/SXTAHII.png) 自此整个项目应该可以编译了。## 2.4 build(验证能否构建成功) ## 运行项目根目录下的build.xml,执行默认的ant任务,看看项目构建的有没有问题。 控制台输出"BUILD SUCCESSFUL"表示编译构建成功。如图:![](/JExmB3J.png)![](/6Qgs4TP.png) 至此源码运行环境搭建完毕。
最新教程周点击榜
微信扫一扫

我要回帖

更多关于 tomcat连接数据库 的文章

 

随机推荐