java的.classpath文件

本文解析了 Eclipse 工程中的 .classpath 文件结构及其各部分的意义,包括源码目录、外部库路径及编译输出目录等,并介绍了如何正确配置相对路径以避免加载问题。

本文是转载的,转自http://coffeelet.blog.163.com/blog/static/13515745320107249178730/

eclipse工程中.classpath文件含义:

下面是一个.classpath文件内容:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
        <!-- 源码目录 --> 
        <classpathentry kind="src" path="src"/>


        <!-- 工程引用外部lib目录(最好用相对路径) -->         
        <classpathentry kind="lib" path="G:/java_ocr/Asprise-OCR-Java-Windows_XP_32bit-4.0/aspriseOCR.jar"/>
        <classpathentry kind="lib" path="lib/xstream-1.3.1.jar"/>
        <classpathentry kind="lib" path="lib/xpp3_min-1.1.4c.jar"/>
        <classpathentry kind="lib" path="lib/commons-logging.jar"/>
        <classpathentry kind="lib" path="lib/htmlparser.jar"/>
        <classpathentry kind="lib" path="lib/jdom.jar"/>
        <classpathentry kind="lib" path="lib/log4j-1.2.8.jar"/>
        <classpathentry kind="lib" path="lib/lucene-1104.jar"/>
        <classpathentry kind="lib" path="lib/mysql-connector-java-5.0.0-beta-bin.jar"/>
        <classpathentry kind="lib" path="lib/xml-apis.jar"/>
        <classpathentry kind="lib" path="lib/nekohtml.jar"/>
        <classpathentry kind="lib" path="lib/xalan.jar"/>
        <classpathentry kind="lib" path="lib/xercesImpl.jar"/>
        <classpathentry kind="lib" path="lib/js.jar"/>
        <classpathentry kind="lib" path="lib/cobra.jar"/>
        <classpathentry kind="lib" path="lib/jdmkrt.jar"/>
        
        <!-- JDK编译时容器 --> 
        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.6.0_06"/>
        <!-- class 目录 --> 
        <classpathentry kind="output" path="bin"/>
</classpath>

说明:
1、<classpathentry kind="src" path="src"/>
含义:本工程的源码所在地路径--》在当前工程路径下的src文件下
2、<classpathentry kind="lib" path="G:/java_ocr/Asprise-OCR-Java-Windows_XP_32bit-4.0/aspriseOCR.jar"/>
含义:本工程所要应用的外部jar包,具体路径是G:/java_ocr/Asprise-OCR-Java-Windows_XP_32bit-4.0/aspriseOCR.jar这里利用的是绝对路径
注意:我们不要应用绝对路径,这样的话我们load工程的时候就会出现找不到jar包的现象我们要用<classpathentry kind="lib" path="lib/cobra.jar"/>
这种相对路径的格式,都用相对路径,那么当我们利用eclipse从文件load一个已经存在的工程的时候就不用在重新引入jar包了
3、<classpathentry kind="output" path="bin"/>
含义:本工程编译后的类文件存放到当前工程路径下的bin目录下

下面部分转自http://www.cnblogs.com/guanghuiqq/archive/2012/08/28/2660168.html

由于最近对一个开源项目(jmeter)的源码进行了编译的工作,发现了很多小的问题,就在这里总结一下。对于.classpath文件的含义就可以参考上面的转贴。 一般当下载好一个源码包后,我们就可以新建java工程,然后进行导入,接着把源码包中的eclipse.classpath中的内容复制到我们新建的java工程中的.classpath文件中。这时我们就可以编译项目了,一般在这里都会出现问题(如果引用到了外部的jar文件,这个可以在.classpath文件中查看),就是lib中的jar文件没有,或者名字跟.classpath文件中描述的不同。那么编译是就会提示***包不存在。此时我们就要手动的修改lib目录下jar文件的名字了,是它们与.classpath文件中一致即可。

<think>首先,用户的问题是关于GitLab中管理Java代码的,具体问题是:用户推送了代码后,修改了.gitignore文件来忽略.classpath文件,但提交时.classpath仍然出现在待提交文件中。用户想知道如何确保忽略这个文件。 关键点: - .gitignore文件内容已经包含忽略.classpath(用户提供了内容)。 - 但提交时.classpath仍被跟踪。 原因分析: - 如果.gitignore文件是后来添加或修改的,并且.classpath文件已经被Git跟踪(即之前已经提交过),那么.gitignore不会影响已经被跟踪的文件.gitignore只忽略未跟踪的文件。 - 用户提到“工程代码已经push到服务器上,.gitignore也已经做完”,然后“编译代码后,工程的下.classpath文件发生变化”,所以很可能.classpath文件之前已经被Git跟踪了。 解决方案: - 要忽略已经被跟踪的文件,需要先从Git中移除它: 1. 停止跟踪文件但不删除:使用 `git rm --cached .classpath`。 2. 然后提交这个更改。 3. 确保.gitignore文件正确包含忽略规则。 - 之后,文件就不会出现在待提交列表中了。 步骤解释: - `git rm --cached .classpath`:这将从Git的索引中移除文件,但保留在本地工作目录中。 - 然后运行 `git commit -m "Stop tracking .classpath"`。 - 最后,推送更改。 确认.gitignore: - 用户提供的.gitignore内容中,包含了“.classpath”,所以应该正确无误。 - 如果.gitignore规则无效,检查路径是否正确;这里似乎是根目录下的文件,所以“.classpath”应该直接忽略。 完整回答结构: 1. 回答问题:解释原因和提供解决方案。 2. 使用中文回答。 3. 在末尾添加3-5个相关问题,以“§§相关问题§§”开头。 相关问题构思: 基于用户的问题和我的回答: - 用户使用GitLab,忽略文件问题。 - 相关问题: 1. 如何检查哪些文件已经被Git跟踪? 2. 如果.gitignore规则不生效,还有哪些常见原因? 3. 在Git中,如何递归忽略某个目录下的所有特定文件? 4. 对于Java项目,还有哪些常见文件应该被忽略? 5. 在GitLab中,如何配置CI/CD管道来确保忽略文件不被推送? 确保3-5个问题,直接相关。 </think>### 回答: 您的问题是由于 `.classpath` 文件已被 Git 跟踪(即之前已提交过),而 `.gitignore` 只适用于未跟踪的文件。要解决这一问题,请按以下步骤操作: 1. **停止跟踪文件但保留本地文件**: ```bash git rm --cached .classpath ``` 此命令从 Git 索引中移除文件,但不会删除本地文件。 2. **提交更改**: ```bash git commit -m "Stop tracking .classpath" ``` 3. **验证 `.gitignore` 规则**: 您提供的 `.gitignore` 内容已包含 `.classpath`,确保它位于仓库根目录。完成后,推送更改: ```bash git push origin <branch-name> # 替换为您的分支名,如 main 或 develop ``` 之后,`.classpath` 将不再出现在提交列表中。 注意事项: - 如果 `.classpath` 位于子目录(如 `project/.classpath`),需在 `.gitignore` 中添加完整路径或通配符(如 `**/.classpath`)。 - 您已正确设置 `.gitignore`,但需确保文件未被误添加到 `.git/info/exclude` 或全局忽略配置中。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值