码迷,mamicode.com
首页 > Web开发 > 详细

myeclipse与eclipse的web项目部署区别

时间:2017-02-17 14:45:09      阅读:225      评论:0      收藏:0      [点我收藏+]

标签:分类   创建   目的   位置   property   end   lob   复制   工程   

一、myeclipse之web项目的部署(发布)流程

web项目的部署(发布)流程2008-01-18 14:35

在myeclipse下新建web工程abc。系统设置默认如下:

项目保存位置:workspace目录\abc

Source文件夹:src,保存所有的Java类文件(.java文件)和xml文件。

Web root文件夹:WebRoot,保存所有的jsp文件,包括css、JavaScript等。其中包含的WEB-INF文件夹有很重要的作用!

Context root URL:/abc。 /号指向上一层, /abc指向本目录。

项目文件夹中包含共计6个文件和文件夹:

.myeclipse文件夹

src文件夹

WebRoot文件夹

同级包含的文件:

.classpath文件

.mymetadata文件

.project文件

 

在myeclipse里部署(deploy)项目

以项目名称abc为例,发布的位置默认为Tomcat安装目录下的webapps目录下abc目录。

一般认为:Tomcat\webapps\abc目录下就是完全拷贝myeclipse\workspace\abc\WebRoot\里面全部内容。

部署的过程就是把myeclipse的WebRoot里面的内容复制到Tomcat的Webapps\abc下,然后重新启动Tomcat。

WebRoot目录里包含index.jsp

用户访问web时输入http://localhost:8080/abc即指向Tomcat\webapps\abc目录下的index.jsp

可以正常访问!

 

WebRoot的组成:

WebRoot\WEB-INF\classes目录很有意思!

workspace\abc\WebRoot\WEB-INF\classes目录与workspace\abc\src目录一一对应!编译之后的所有.class文件保存在此处,部署也只会对外公开字节码,java类文件仍然保留在开发平台里。

src目录下为java类文件(.java)

classes目录下为字节码文件(.class)

C:\AAAA\i_sales\src和C:\AAAA\i_sales\WebRoot\WEB-INF\classes

里面的结构是一模一样的,文件名完全相同。只是把所有的扩展名.java变为了.class。

总结:

1、WebRoot文件夹是可以对外的成品!拷贝给Tomcat承载即可。

2、src目录里都是重量级的java程序,编译之后会被放入WebRoot。

3、jsp页面、javascript、css直接写在WebRoot里。自行组织一下目录结构,易于分类管理。

 

二、eclipse之web项目的部署

...Tomcat\conf\Catalina\localhost\tracker.xml 

<Context path="/tracker" reloadable="true" docBase="D:\web\tracker" workDir="D:\web\tracker\work"  /> 

在...\localhost目录下创建项目路径文件tracker.xml,内空如上. 
.path中的值"/tracker"与文件名tracker.xml要一致. 
.docBase是你的页面文件的根目录. 
.workDir是jsp文件编译成java文件后java文件存放的地址. 

 

 

三、Eclipse+Tomcat+Ant

 

1。打开Eclipse,在项目的根路径下建立builds.xml文件。

这个是Ant配置的关键。其内容如下:

-----------------

<?xml version="1.0"?>
<project name="webmodulebuilder"  default="deploy"  basedir=".">


  <!-- set global properties for this build -->
 
  <!-- 发布WEB路径 -->
  <property name="DEPLOY_PATH" value="D:/Tomcat 5.0/webapps/dt" />
 
  <!-- 源WEB路径 -->
  <property name="WEB_PATH" value="D:/eclipse/workspace/test/dt" />
 
  <!-- 源编译的jar包路径 -->
  <property name="JAR_PATH" value="D:/eclipse/workspace/test/dt/WEB-INF/lib" />
 
  <!-- 源java文件路径 -->
  <property name="SCR_PATH" value="D:/eclipse/workspace/test/src" />
 
  <!-- 源class文件路径 -->
  <property name="CLASS_PATH" value="D:/eclipse/workspace/test/dt/WEB-INF/classes" /> 
 
  <!-- 定义classpath -->
  <path id="LIB_CLASS_PATH">
       <fileset file="${JAR_PATH}/*.jar" />
       <pathelement path="${CLASS_PATH}"/>
  </path>
   
  <!-- 初试化 --> 
  <target name="init">     
    <mkdir dir="${DEPLOY_PATH}"/>
    <mkdir dir="${DEPLOY_PATH}/WEB-INF"/>
    <mkdir dir="${DEPLOY_PATH}/WEB-INF/classes"/>
    <mkdir dir="${DEPLOY_PATH}/WEB-INF/lib"/> 
  </target>


  <!-- 编译类 -->
  <target name="compile" depends="init" description="compile the source files">
      <mkdir dir="${CLASS_PATH}"/>
      <javac srcdir="${SCR_PATH}" destdir="${CLASS_PATH}">
           <classpath refid="LIB_CLASS_PATH"/>
      </javac>
  </target>
 
 
  <!-- Copy发布-->
  <target name="deploy" depends="init,compile" >
    <copy todir="${DEPLOY_PATH}">
      <fileset dir="${WEB_PATH}">
        <include name="**/*.*"/>
        <exclude name="**/jsp_servlet/*.class"/>
        <exclude name="**/build.xml"/>
        <exclude name="**/deploy.xml"/>
        <exclude name="**/build.properties"/>
        <exclude name="**/servers.xml"/>
        <exclude name="**/targets.xml"/>
        <exclude name="**/*.war"/>
      </fileset>
    </copy>    
  </target> 
 
</project>

-----------------


2.右击项目,选择“属性--构建器”。然后单击“新建”。


3.在“选择配置类型”窗口中单击选中“Ant构建”,单击“确定”。


4.配置构建器的属性,填写建器的“名称”。

  “主要”页框中的“构建文件”选择刚才配置builds.xml,“基本目录”选择项目的根目录。

  “构建选项”中,勾选“在自动构建期间”。


5.点击“确定”,完成配置。


6.在项目属性中的“构建器”中勾选刚刚建立的Ant构建器,取消勾选“Java构建器”。单击“确定”。


7.当系统调试时,Ant会自动编译并发布文件到指定的目录中。爽!

 

myeclipse与eclipse的web项目部署区别

标签:分类   创建   目的   位置   property   end   lob   复制   工程   

原文地址:http://www.cnblogs.com/cainiao-Shun666/p/6409537.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!