• myeclipse中间classpath


    myeclipse中间classpath这是一个非常重要的问题
    myeclipse是搜索寻找在按照时间其,和myeclipse有一个特殊的文件来保存classpath信息。这也是别人的项目文件的副本时的一个关键需求,否则,这个项目导入到自己的myeclipse中就会错误发生,此时就仅仅能是手工来编写这个文件
     
    myeclipse的classpath文件就是项目根文件夹下的“.classpath”文件,其格式例如以下:

    第一句

    <?xml version="1.0" encoding="UTF-8"?>

    这是表明使用的XML的版本号。以及使用的编码

    <classpath>... ...</classpath>

        这个标签中存放的便是classpath的信息。它一般包括下面五种形式:

     <classpathentry kind="src" path="src"/>  

     <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>  

     <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.j2eedt.core.MYECLIPSE_JAVAEE_5_CONTAINER"/>  

     <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/bsf-2.3.0.jar"/>  

    <classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>

    <classpath kind="src" path="src"> 

    相应的是source folder类型的文件夹,kind---表示这个classpath的类型,path表示在项目中的路径,path使用根文件夹的相对路径(相对.classpath文件本身的相对路径) ,myeclipse项目中的src本身就是一个source folder,所以它会自己主动写入这个文件里,假设自己手动建立了一个source folder,这个folder也会写入这个文件,形式就是以上形式eg.在项目基础上新建一个test的source   folder。就会就会成为这样

    <classpathentry kind="src" path="src"/>  

    <classpathentry kind="src" path="test"/>

    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>

    这句是表示程序的执行环境 kind="con"---表示classpath的类型,con即是container,就是程序执行的容器。或者就说是执行环境也OK,它实际上是在Myeclipse最初的时候要配置installed JREs中指定(普通情况下我们指定的是JDK),可是这里实际使用的是JDK下的JRE中的jar包,就是JDK_HOME/jre/lib就是相应的这条语句<BR>  

    <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.j2eedt.core.MYECLIPSE_JAVAEE_5_CONTAINER"/>  

    这句是kind="con"当然和上条一样。是表示执行时的容器,普通情况下是java web项目才会有,它是包括了J2EEserver要使用到的一些jar包,这个文件夹中的jar包是当中最特殊的,那就是它不会在部署项目的时候部署到server上去,由于myeclipse觉得这种jar包是server应该有的,所以这里有时候会出现故障。就是开发的时候不出现故障,可是部署之后会出错。就是有的server有的jar包并没有提供,比方tomcat(由于tomcat并非专业的webserver。它仅仅是一个轻量的web容器),这就要区分好开发环境和执行环境  

     

    <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/bsf-2.3.0.jar"/>

    这条语句kind="lib",相应的是classpath中的库文件,path指定库文件的路径。相同是相对与项目根文件夹的相对路径  

     

    <classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>

    这条表示项目的输出文件夹,整个之前定义的classpath不管是kind='src",kind="con",kind="lib",在编译后都会进入到这个文件夹中来,在java web中也就是WebRoot/WEB-INF/classes。

    相同使用的path是相对项目根文件夹的相对路径(相对.classpath文件本身的相对路径)。可是因为J2EE部分的是本身要求web server本身要有那些jar包。所以那个例外不会进行拷贝  

     

    总结:

    classpath是myeclipse关键文件,在进行相关的查找时候要用到

     

    项目根文件夹下的".classpath“文件就是保存项目classpath的文件

    文件里的

    <classpath>... ...</classpath>之间保存各种classpath信息。kind表示类型,path表示路径,且使用的都是相对于”

    .classpath“或者说是项目根文件夹的相对路径

    几种kind的含义:

     

    kind=”src" ----相应source folder文件夹

     

    kind="con"--项目的容器,一般当是java web项目的时候会有两个</SPAN></SPAN></P>  

    kind="lib"---项目中使用到的库文件

    kind='output"--输出文件夹,终于编译后相关文件的目标文件夹,myeclipse会自己主动完毕相关的拷贝终于对于myeclipse的classpath管理是通过这个文件来实现。

    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    C语言 数组排序 – 冒泡法排序
    类加载过程
    布隆过滤器的原理及应用
    回答两个被频繁问到的代码写法问题
    关于分布式事务的理解
    根据使用者反馈,对开源项目 go-gin-api 新增两个功能
    图书速度 | 《如何高效学习》
    报错kernel:NMI watchdog: BUG: soft lockup
    容器Jenkins中运行docker
    容器Jenkins中运行docker
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4907130.html
Copyright © 2020-2023  润新知