eclipse中的.project 和 .classpath文件的具体作用

来源:互联网 发布:手机卡没办法收到网络 编辑:程序博客网 时间:2024/06/08 07:02

http://blog.csdn.net/zhuyu_deng/article/details/17765041

project 是项目文件,项目的结构都在其中定义,比如lib的位置,src的位置,classes的位置


.classpath 的位置定义了你这个项目在编译时所使用的$CLASSPATH


这些文件你用文本编辑器就能察看了

在一个项目中点刷新的目的是为了更新.project文件中的文件清单,让你把不通过eclipse提交到项目的文件显示出来

 

.classpath 文件

        <?xml version="1.0" encoding="UTF-8"?>
<classpath>
        <classpathentry kind="src" path="src"/>
        <classpathentry kind="src" path="test"/>
        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
        <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
        <classpathentry kind="lib" path="lib/dom4j-1.6.1.jar">
                <attributes>
                        <attribute name="javadoc_location" value="file:/home/wpc/Work/Apache/dom4j-1.6.1/docs/api$
                </attributes>
        </classpathentry>
        <classpathentry kind="output" path="bin"/>
</classpath>

  从数据上我们容易看出,上面描述了工程的依赖文件:

  1. 源文件的具体位置(kind="src")
  2. 运行的系统环境(kind="con")
  3. 工程的library的具体位置信息(kind="lib")
  4. 在每个lib的xml子节点中,有关于它的其它配置信息(例如我配置的那个"javadoc_location")
  5. 项目的输出目录(kind="output")

总体上说这个文件就是配置整个工程的运行环境。

     .project 文件

      <?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>CreateInterpret</name>
    <comment>JavaCC Nature@key 32303037303632392D3130303020437265617465496E746572707265742F777063 </comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>sf.eclipse.javacc.javaccbuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.jdt.core.javanature</nature>
        <nature>sf.eclipse.javacc.javaccnature</nature>
    </natures>
</projectDescription>

 从数据上看,我们可以了解到这些配置主要是描述工程的基本信息:

  1. 工程名<name></name>
  2. 工程注释描述<comment></comment>
  3. 运行时需要的额外Eclipse插件<natures></natures>,及其具体加载方式信息<buildSpec></buildSpec>

如果你在开发过程中向工程里面加入了很多额外的插件,则必然会导致你的Eclipse启动速度变慢。在这种情况下,你可以到这个文件里面去掉一些插件,不过这样一来你在开启那些关联文件的时候会加载那些插件。





JAVA中path和classpath具体是什么意思?

path 路径,是java编译时需要调用的程序(如java,javac等)所在的地方classpath 类的路径,在编译运行java程序时,如果有调用到其他类的时候,在classpath中寻找需要的类。










eclipse WEB项目开发时,项目文件组织结构是怎样的?



按照Java EE 规范的规定,一个典型的 Web 应用程序有四个部分:

1.  公开目录 ;2. WEB-INF/web.xml 文件,发布描述符(必选) ;3. WEB-INF/classes 目录,编译后的 Java类文件(可选) ;4. WEB-INF/lib 目录,Java类库文件(*.jar) (可选) ; 公开目录存放所有可以被用户的访问的资源, 包括  .html, .jsp, .gif, .jpg, .css, .js, .swf 等等。 WEB-INF 目录是一个专用区域, 容器不能把此目录中的内容提供给用户。  这个目录下的文件只供容器使用,里面包含不应该由客户直接下载的资源,例如: Servlet(这些组件包括应用程序逻辑以及对其他资源如数据库的可能访问), Web应用程序中servlet可直接访问的其他任何文件,在服务器方运行或者使用的资源(如 Java类文件和供 servlet 使用的 JAR文件),由您的应用程序生成的临时文件,,发布描述符以及其它任何配置文件。 这些资源是专用的, 因此只能由它们自己的 Web应用程序及容器访问。 特别地,JSP/Servlet   程序文件也能通过 ServletContext 访问到这个目录下的文件,例如 JSP 中可以通过application.getRealPath(“/WEB-INF/web.xml”) 访问到发布描述符文件的路径。 Web容器要求在你的应用程序中必须有 WEB-INF 目录。 注意: 如果你的 Web 应用程序中没有包含这个目录, 它可能将无法工作WEB-INF 中包含着发布描述符, 一个 classes 目录和一个 lib目录, 以及其它内容。  发布描述符(deployment descriptors)是 J2EE Web 应用程序不可分割的一部分(也就是说是它的最小部分, 必不可缺的一部分)。 它们在应用程序发布之后帮助管理 Web 应用程序的配置。对于Web 容器而言, 发布描述符是一个名为 web.xml 的 XML 文件, 存储在 Web 应用程序的 /WEB-INF目录下。  发布描述符有多种用途:•  为 Servlet 和 Web 应用程序提供初始化参数  这使我们的Web应用程序中的硬性编写的代码的初始化值更少。 例如常见的 <param-name>, <param-value>标记, 就可以为Servlet 提供参数, 这个参数可以在 init() 方法中加载。 Struts 的 ActionServlet 也是通过这种方式来找到它们需要的配置文件 struts-config.xml 的位置, 从而加载并分析它,来初始化 Struts 框架用到的各种 FromBean, Action, Forward等。 •  Servlet/JSP 定义 可以为 Web 应用程序中的每个 Servlet 或者预编译的 JSP 网页提供定义。 包括Servlet/JSP的名字, Servlet/JSP 的类以及一个可选的描述。 •  Servlet/JSP 映射  Web容器使用这些信息把进入请求映射到 servlet 和 JSP 网页。 •  MIME类型  由于每个 Web 应用程序可以包含多种内容类型, 因此我们可以在发布描述符中为每一种类型指定 MIME 类型。 •  安全性   我们可以使用发布描述符来管理应用程序的访问控制。 例如, 可以指定我们的Web应用程序是否需要登录, 如果需要的话, 应该使用什么登录页面, 以及用户会作为何种角色。 发布描述符还可以用来自定义其他元素, 包括欢迎网页, 出错网页, 会话配置等等。 classes 目录用于存储编译过的 servlet 及其它程序类, 例如 JavaBean。 如果一个程序有打包的 JAR 文件(例如一个第三方 API 打包成了一个 JAR 文件, 如 Struts 框架的类库struts.jar, MySQL 的数据库 JDBC 驱动程序文件 mysql-connector-java-3.1.11-bin.jar 等), 那么它们可以被复制到lib目录中(如果解压缩这些压缩包的话, 请将它们复制到classes目录中)。 Web 容器使用这两个目录来查找 servlet 及其他相关类, 也就是说, 容器的类装入器会自动查看 classes 目录, 以及 lib目录下的 JAR文件。  这就意味着你不需要明确的把这些类和 JAR文件添加到 CLASSPATH中。  Web容器自动将这两个目录中的文件加入 Web应用的类路径中。

0 0
原创粉丝点击