- 浏览: 365415 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (186)
- J2EE (46)
- spring (4)
- Applet (7)
- 网页前端 (10)
- 生活与工作 (55)
- 开放的世界 (10)
- linux (16)
- j2me (2)
- android (5)
- ExtJS (1)
- 架构师与设计 (7)
- 开发平台 (2)
- Eclipse (4)
- 教育 (0)
- 数据库 (9)
- English (1)
- Jetty (2)
- 未分类 (1)
- 工具 (2)
- flex (2)
- synchronized (1)
- maven (2)
- command (0)
- shell (1)
- web (1)
- qq (3)
- wine (3)
- chrome (1)
- extensions (1)
- plugin (1)
- 插件 (1)
- ssh (1)
- 内网 (1)
- J2EE excel (1)
- ubuntu (4)
- storm (2)
- hadoop (1)
最新评论
-
skzr.org:
jdbc:mysql://localhost:3306/?us ...
storm topology all in one spring文件合并 -
chenghong726:
你好,我用你这个方法,上传文件72M一直卡在 mapper.s ...
超大excel读取 43万记录 26M文件 -
海hai:
您好我对这篇文章很敢兴趣可以和你请教下吗?我qq9034418 ...
淘宝top自动授权页面,方便大家调试top应用 -
skzr.org:
首先感谢你的关注:)yaerfeng1989 写道最代码上有更 ...
[MAVEN]web工程的调试 -
skzr.org:
最新消息2013-12-17:腾讯再次弹出消息,我的QQ201 ...
ubuntu 12.04安装QQ2012
接上篇:[MAVEN]maven最佳实践
maven风格的WEB程序怎样调试?
标准web目录结构
src/main/java |
Application/Library sources |
src/main/resources |
Application/Library resources |
src/main/filters |
Resource filter files |
src/main/assembly |
Assembly descriptors |
src/main/config |
Configuration files |
src/main/scripts |
Application/Library scripts |
src/main/webapp |
Web application sources |
src/test/java |
Test sources |
src/test/resources |
Test resources |
src/test/filters |
Test resource filter files |
src/site |
Site |
LICENSE.txt |
Project's license |
NOTICE.txt |
Notices and attributions required by libraries that the project depends on |
README.txt |
Project's readme |
web项目调试最佳实践
- 问题,jar都让maven管理了,web-inf/lib下没有jar了,这个时候怎样调试web呢?
-
原理:无论tomcat还是jetty作为web容器,最终启动他们的命令行都是:“java ....” 即他们都是标准的java应用程序启动方式,所以对于maven管理的web工程,手动添加jar到classpath即可了
编程方式使用tomcat调试maven war工程
- 定义tomcat配置文件:src/test/resources/tomcat.properties
catalina.home=/prog/apache/apache-tomcat-7.0.27-dev catalina.base=/workspace/com.talkyun.flex/Servers/dev-cloud-site
- TomcatStart.java启动代码:src/test/java/server/TomcatStart.java
package server; import java.io.IOException; import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Properties; /** 启动tomcat */ public class TomcatStart { /** 设置tomcat启动需要的classpath、catalina.home和catalina.base设置 */ private static void setTomcatEnv(Properties tomcatConfig) throws ReflectiveOperationException, IOException { String catalinaHome = tomcatConfig.getProperty("catalina.home"); System.setProperty("catalina.home", catalinaHome); System.setProperty("catalina.base", tomcatConfig.getProperty("catalina.base", catalinaHome)); Path bootstrapJar = Paths.get(catalinaHome, "bin/bootstrap.jar"), tomcatJuliJar = bootstrapJar.resolveSibling("tomcat-juli.jar"); ClassLoader classloader = Thread.currentThread().getContextClassLoader(); Method addURLMethod = URLClassLoader.class.getDeclaredMethod("addURL", URL.class); try { addURLMethod.setAccessible(true); addURLMethod.invoke(classloader, bootstrapJar.toUri().toURL()); addURLMethod.invoke(classloader, tomcatJuliJar.toUri().toURL()); try { classloader.loadClass("javax.servlet.ServletContainerInitializer"); } catch (ClassNotFoundException e) { addURLMethod.invoke(classloader, Paths.get(catalinaHome, "lib/servlet-api.jar").toUri().toURL()); } } finally { addURLMethod.setAccessible(false); } } /** 启动tomcat */ private static void start() throws ReflectiveOperationException { Class<?> bootstrapClazz = Class.forName("org.apache.catalina.startup.Bootstrap"); Method main = bootstrapClazz.getDeclaredMethod("main", String[].class); main.invoke(bootstrapClazz, (Object) new String[] {"start"}); } /** 请在 classpath:/tomcat.properties中设定: catalina.home, catalina.base(默认使用catalina.home) */ public static void main(String[] args) throws Exception { Properties tomcatConfig = new Properties(); tomcatConfig.load(TomcatStart.class.getResourceAsStream("/tomcat.properties")); setTomcatEnv(tomcatConfig); start(); } }
tomcat调试maven web工程
- 定义Variable变量:
-
打开首选项:Windows->Preferences
-
定义变量:Run/Debug -> String Substitution:选择右边的新建,建立变量,名称:TOMCAT_HOME,配置为tomcat的路径,如图:
-
-
定义一个java application debug启动:
-
打开Debug Configurations配置:Run -> Debug Configurations
-
选择左边的Java Application,右键新建一个新的Java Application启动配置:取名为:tomcat-dev
-
Main选项卡:Main class输入:org.apache.catalina.startup.Bootstrap
- Arguments选项卡:
-
Program arguments配置填写:start
-
VM arguments配置填写:
-
-Dcatalina.home=${TOMCAT_HOME} -Dcatalina.base=${TOMCAT_HOME} -Djava.endorsed.dirs=${TOMCAT_HOME}/common/endorsed -Djava.io.tmpdir=${TOMCAT_HOME}/temp -Djava.library.path=${TOMCAT_HOME}/bin:/usr/local/apr/lib -Dsun.io.useCanonCaches=false -server
-
-
Working directory配置填写:Other: ${TOMCAT_HOME}
-
- Classpath选项卡:
- 去掉项目的classpath,只保留Maven Dependencies项即可
-
选中User Entries:按右边的Advanced添加三个jar包,如:在弹出的Advanced Options对话框中填写Add Variable String项目:${TOMCAT_HOME}/bin/bootstrap.jar
-
${TOMCAT_HOME}/bin/bootstrap.jar ${TOMCAT_HOME}/bin/tomcat-juli.jar ${TOMCAT_HOME}/lib/servlet-api.jar
-
-
-
评论
如何在eclipse jee中检出项目并转换为Maven project,最后转换为Dynamic web project,地址:http://www.zuidaima.com/blog/1618180875144192.htm
如何在eclipse jee中创建Maven project并且转换为Dynamic web project,地址:http://www.zuidaima.com/blog/1618162161323008.htm
是的,如今的eclipse对maven的支持已经非常好了。我现在没有再采用这个方式调试了。
非常的谢谢
呵呵,确实是少了点,这篇是接上篇接[MAVEN]maven最佳实践 的一个补充
目前maven还没深入,需要就学了下,现在还没搞明白site目录要怎样组织和书写
估计下一个补充就是关于《maven site站点的书写和组织》了。
发表评论
-
答复: 再谈一个关于final的不一致编译的低级错误
2012-09-25 09:13 1077tlde_ti 写道 我是觉得连依赖管理工具都不用的项目实在 ... -
[jetty]jetty学习
2011-12-27 16:19 2534Jetty源码学习 图源码:jetty.dia ... -
[jetty]start.jar启动
2011-12-27 16:16 2747概图 关键点 org.eclipse.jetty ... -
在java中怎样执行系统命令?
2011-12-05 00:12 0linux比较容易实现,windows下问题千奇百怪。 ... -
[MAVEN]maven最佳实践
2011-12-06 11:00 2234参考资料: 官方:http://maven.ap ... -
java点滴
2011-11-25 00:18 0main静态方法调用: 意思的在method ... -
[java]synchronized我的理解
2011-11-18 21:56 1815多线程、同步、锁,搞 ... -
[flex]flex tree使用心得
2011-10-25 11:21 1952目录 关键属性 labelField ... -
tomcat攻略
2011-07-23 10:51 6883以下是常见的tomcat配置和问题 以下总结来自实践(OS: ... -
[Fixed Eclipse CDT]可正常运行,无法调试
2011-07-20 07:25 2479Eclipse CDT是开发C/C++的 现象: 直 ... -
[web工程]Struts2+Spring3.1+Hibernate3.6的集成
2011-05-20 00:32 2020背景:如果选择struts2+Spring+Hibernate ... -
[web工程]集成struts2 mvc
2011-05-20 00:30 2165返回:[web工程]Struts2+Spring3 ... -
[web工程]集成hibernate
2011-05-20 00:28 1472返回:[web工程]Struts2+Spring3.1+ ... -
[web工程]创建web工程
2011-05-19 21:30 1963返回:[web工程]Struts2+Spring3.1+Hib ... -
[分享][Hibernate]公用DAO
2011-05-15 23:27 1967通过Hibernate的元信息处理组件等等,利用spring封 ... -
[经验][hibernate][自定义类型]hibernate 3.6.3中自定义类型,json类型
2011-05-14 12:05 1451首先感谢您百忙之中的阅读 :) 下面进入正题 在3. ... -
hibernate和jdbc加载对象性能
2011-05-03 21:49 1984skzr.org 写道 core2 P8400 ... -
[svn]Eclipse中svn项目会出现label装饰,但今天消失了!
2011-04-28 23:04 1954svn label装饰,如图: 因为以下原因导致svn那个图 ... -
java远程调用通讯协议比较
2011-04-12 16:11 1525我的测试: 环境: 使用spring做为粘合剂 ... -
svn经验
2011-03-30 12:55 1429一下内容摘录自自己的wiki,所以链接可能有问题! 目录 ...
相关推荐
** Maven Web基础搭建详解 ** Maven是一款强大的项目管理和依赖管理工具,广泛应用于Java开发领域。在构建Web项目时,Maven能够自动化处理构建过程,包括编译、测试、打包、部署等步骤,极大地提高了开发效率。本...
当我们需要创建一个动态Web工程时,结合Maven和Eclipse可以简化项目配置,提高开发效率。下面我们将详细探讨如何使用这两个工具来创建一个名为“APIDemo”的动态Web工程,并实现一个简单的"Hello, World!"小程序。 ...
【标题】"idea创建基于maven的web工程共6页.pdf.zip" 提示我们这个压缩文件包含了一份关于在IntelliJ IDEA(简称Idea)中使用Maven构建Web项目的教程,共有六页内容。Maven是Java开发中广泛使用的项目管理和依赖管理...
【标题】"idea创建基于maven的web工程共6页.pdf.zip" 提供的信息表明,这是一个关于使用IntelliJ IDEA(简称Idea)创建基于Maven的Web项目的教程文档,内容可能涵盖了6个主要步骤或章节。Maven是Java开发中的一个...
本篇文章将详细探讨如何利用Maven与Jetty进行配置,以便高效地开发和运行Web工程。 首先,`Maven`是Apache软件基金会开发的项目管理工具,它通过一个统一的构建过程和依赖管理,简化了Java项目的构建、测试和部署。...
本文将详细介绍如何在MyEclipse中配置Maven,以便进行Web工程的开发。 首先,我们需要在命令行环境中使用Maven创建一个基础的Web应用项目。通过执行以下命令: ```bash mvn archetype:generate -...
为了在Eclipse中开发和调试这些模块,需要为每个模块生成Eclipse工程文件。这可以通过在各模块目录下运行`mvn eclipse:eclipse`命令实现。对于`mydemo-web`,由于是web项目,还需额外指定`-Dwtpversion=1.0`参数,...
### 如何基于Maven在Eclipse下创建Web工程 #### Maven与Eclipse简介 Maven是Apache软件基金会的一个开源项目,它是一个项目管理和综合工具,主要用于Java项目的构建、依赖管理和项目信息管理。通过Maven,开发者...
【标题】"IDEA下maven新建servlet3.x/web3.x工程模版"涉及到的主要知识点是使用IntelliJ IDEA(IDEA)结合Maven构建一个支持Servlet 3.x和Web 3.x标准的Java Web项目。Maven是一个强大的项目管理工具,能够帮助...
### 使用Maven和Jetty开发调试WEB应用程序 #### 前言 在现代软件开发过程中,集成工具如Maven和Jetty极大地提高了开发效率。Maven作为自动化构建工具,能够帮助开发者快速创建、管理和构建项目;而Jetty则是一款轻...
【标题】"javaMaven工程.zip" 是一个包含Java编程语言和Maven构建工具的项目压缩包,专门用于实现网络爬虫功能,旨在爬取ZOL(中关村在线)网站的首页壁纸。 【描述】该工程的目标是通过编写Java代码,利用Maven...
【标题】"maven工程小例子"涉及到的是Java开发中的构建工具Maven的应用。Maven是一个项目管理和综合工具,它简化了构建、依赖管理和项目的生命周期。在Java开发中,Maven通过XML格式的配置文件(pom.xml)来管理项目...
基于IDEA把Maven工程转换为Web项目 本文主要介绍了如何使用IDEA将Maven工程转换为Web项目,详细介绍了转换过程中的每一步操作,并提供了示例代码,对读者的学习和工作具有重要的参考价值。 知识点1:Maven工程的...
总结,"springmvc maven工程"是基于Maven构建的SpringMVC项目,利用了Maven的依赖管理和构建功能,结合SpringMVC的灵活性,提供了一种高效开发Java Web应用的方式。通过理解并掌握SpringMVC和Maven的核心概念与实践...
在本文中,我们将深入探讨如何使用IntelliJ IDEA(版本2017.12)创建一个基于Spring Boot和Maven的Java工程,并配置MyBatis作为持久层框架。Spring Boot简化了Java应用的开发过程,而Maven是管理项目构建、依赖关系...