zoukankan      html  css  js  c++  java
  • eclipse工程当中的.classpath 和.project文件什么作用?

    作者:郭无心
    链接:https://www.zhihu.com/question/38228849/answer/75418934
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    .project是项目文件,项目的结构都在其中定义,比如lib的位置,src的位置,classes的位置
    .classpath的位置定义了你这个项目在编译时所使用的$CLASSPATH

    .classpath 文件
    从数据上我们容易看出,上面描述了工程的依赖文件:
    源文件的具体位置(kind="src")
    运行的系统环境(kind="con")
    工程的library的具体位置信息(kind="lib")
    在每个lib的xml子节点中,有关于它的其它配置信息(例如配置"javadoc_location" "path" "sourcespath")
    项目的输出目录(kind="output")
    总体上说这个文件就是配置整个工程的运行环境。

    .project 文件
    从数据上看,我们可以了解到这些配置主要是描述工程的基本信息:
    工程名<name></name>
    工程注释描述<comment></comment>
    运行时需要的额外Eclipse插件<natures></natures>
    及其具体加载方式信息<buildSpec></buildSpec>

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

    可以看一个.classpath文件的demo
    <?xml version="1.0" encoding="UTF-8"?>
    <classpath>
    	<classpathentry kind="src" path="src"/>
    	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre7">
    		<attributes>
    			<attribute name="owner.project.facets" value="java"/>
    		</attributes>
    	</classpathentry>
    	<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v7.0">
    		<attributes>
    			<attribute name="owner.project.facets" value="jst.web"/>
    		</attributes>
    	</classpathentry>
    	<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
    	<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
    	<classpathentry kind="lib" path="E:/bishe/apache-tomcat-7.0.34/lib/servlet-api.jar" sourcepath="F:/360极速浏览器下载/javax.servlet-3.0-sources.jar"/>
    	<classpathentry kind="output" path="build/classes"/>
    </classpath>
    
    <?xml version="1.0" encoding="UTF-8"?>
    <projectDescription>
    	<name>xxxx</name>
    	<comment></comment>
    	<projects>
    	</projects>
    	<buildSpec>
    		<buildCommand>
    			<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
    			<arguments>
    			</arguments>
    		</buildCommand>
    		<buildCommand>
    			<name>org.eclipse.jdt.core.javabuilder</name>
    			<arguments>
    			</arguments>
    		</buildCommand>
    		<buildCommand>
    			<name>org.eclipse.wst.common.project.facet.core.builder</name>
    			<arguments>
    			</arguments>
    		</buildCommand>
    		<buildCommand>
    			<name>org.eclipse.wst.validation.validationbuilder</name>
    			<arguments>
    			</arguments>
    		</buildCommand>
    	</buildSpec>
    	<natures>
    		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
    		<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
    		<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
    		<nature>org.eclipse.jdt.core.javanature</nature>
    		<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
    	</natures>
    </projectDescription>
    

    至于是不是任何一个Java工程都必须的吗?
    感觉应该不是的,这些命令也可以通过命令行进行设置,只不过是eclipse构建工程的一些标准罢了
    转自https://www.zhihu.com/question/38228849
  • 相关阅读:
    升级 asp.net core 1.1 到 2.0 preview
    【asp.net core】Publish to a Linux-Ubuntu 14.04 Server Production Environment
    CEF 各个版本适应的平台参考表
    VC2012编译CEF3-转
    【WebKit内核 CEF3 】 第一篇:下载分支代码并本地编译
    INNODB自增主键的一些问题 vs mysql获得自增字段下一个值
    Mysql的批量导入类 MySqlBulkLoader
    一个产生随机数字 字符串验证码 日期的类扩展实现
    asp web api json 序列化后 把私有字段信息也返回了解决办法
    使用Elasticsearch 与 NEST 库 构建 .NET 企业级搜索
  • 原文地址:https://www.cnblogs.com/shizhijie/p/8709438.html
Copyright © 2011-2022 走看看