今天在工作时候由于要把原来的web工程从eclipse移到myeclipse中,但使用myeclipse发布时候选择要发布的工程时候看不到改web 工程,百度了下,是因为原来的web工程不是由 myeclipse 创建的,需要做个 右击工程->myeclipse ->add web project capabilities,这样myeclipse将这个工程的编译classes路径修改为 根目录->WEB-INF ->classes ,而原工程的编译文件放在 根目录->WebContent ->WEB-INF->classes 中,结果就是导致编译后的classes文件在红色目录中,但是系统运行解析的却是后面的目录里面的classes文件,导致我浪费了2个多小时debug,不知道自己的程序怎么了,断点走的各种诡异。
下面整理了个关于 java 工程.classpath 文件的介绍:
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
每个新建java工程(Project)都默认存在的。
<classpathentry kind="src" output="km230/apitest/classes" path="km230/apitest/src"/>
指定源文件位置, 对应工程属性Java build path中Source项中的一项, kind="src" 指明为源文件, 源文件路径path, output为这条路径中 源文件编译以后class文件的输出路径。
<classpathentry kind="src" path="km230batch/src"/>
指定源文件位置, 对应工程属性Java build path中Source项中的一项, kind="src" 指明为源文件, 源文件路径path, 编译以后class文件的 输出路径为默认输出路径。
<classpathentry kind="output" path="km230server/approot/WEB-INF/classes"/>
指定编译以后class文件的默认输出路径, 对应工程属性Java build path中 Source项中的default output path, kind="output"指明为默认 class输出路径, path为相应输出路径。
注意: 这一条在文件中有且只能有一条(不可能同时出现两个默认吧?).
<classpathentry kind="lib" path="km230/lib/Notes.jar"/>
指定工程所用到的库文件或目录, 对应工程属性Java build path中 Libraries项中的一项, kind="lib"指明为库文件或目录, path为库 文件或目录位置。
注意: 当指定库文件时(非库目录, 通常是jar包, 好像zip也可以, 不知道是 否还有其它), 应当包含文件名。
<classpathentry kind="var" path="JUNIT_HOME/junit.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.jdt.source_3.0.0/src /org.junit_3.8.1/junitsrc.zip"/>
指定工程所用到的库文件或目录, 对应工程属性Java build path中 Libraries项中的一项, kind="var"指明带有全局编译路径中设置的 变量(Window->Prefrences->Java->Build Path->Classpath Variables), 如上面的ECLIPSE_HOME, path为这个变量目录下的库文件(同样通 常是jar包, 好像zip也可以, 也不知道是否还有其它)。
本文来自编程入门网:http://www.bianceng.cn/Programming/Java/201012/21347.htm