精简和/或了解动态 Web 项目中的 Eclipse 文件

2022-09-04 21:50:46

驻留在动态 Web 项目的 .settings 中的文件包括:

.settings/
|-- org.eclipse.jdt.core.prefs
|-- org.eclipse.jst.common.project.facet.core.prefs
|-- org.eclipse.jst.j2ee.ejb.annotations.xdoclet.prefs
|-- org.eclipse.wst.common.component
|-- org.eclipse.wst.common.project.facet.core.xml
|-- org.eclipse.wst.jsdt.ui.superType.container
|-- org.eclipse.wst.jsdt.ui.superType.name
`-- org.eclipse.wst.validation.prefs

上面的文件列表几乎是一个全新的动态Web项目,除了我使用的是IvyDE插件,但我认为它只影响.classpath文件。

如何了解有关这些文件的更多信息?我想知道我是否可以在不失去重要东西的情况下摆脱其中任何一个?在 Eclipse.org 找到这些信息并不容易,链接或解释将非常受欢迎。

我正在尝试了解有关这些文件的更多信息,因为我想在将Eclipse文件签入版本控制之前尽可能地精简它们。

如果它有助于我列出上述文件及其内容:

org.eclipse.jdt.core.prefs:

#Mon Jan 26 03:01:22 CET 2009
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.5

org.eclipse.jst.common.project.facet.core.prefs:

#Mon Jan 26 03:01:22 CET 2009
classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER\:\:org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType\:\:java-6-sun-1.6.0.07/owners=jst.java\:5.0
eclipse.preferences.version=1

org.eclipse.jst.j2ee.ejb.annotations.xdoclet.prefs:

#Mon Jan 26 03:23:25 CET 2009
XDOCLETBUILDERACTIVE=false
XDOCLETHOME=
XDOCLETUSEGLOBAL=false
XDOCLETVERSION=1.2.1
eclipse.preferences.version=1

org.eclipse.wst.common.component:

<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
    <wb-module deploy-name="webcookie">
        <wb-resource deploy-path="/" source-path="/src/main/webapp"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
        <property name="context-root" value="webcookie"/>
        <property name="java-output-path"/>
    </wb-module>
</project-modules>

org.eclipse.wst.common.project.facet.core.xml:

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="jst.java"/>
  <fixed facet="jst.web"/>
  <installed facet="jst.java" version="5.0"/>
  <installed facet="jst.web" version="2.5"/>
</faceted-project>

org.eclipse.wst.jsdt.ui.superType.container:

org.eclipse.wst.jsdt.l

org.eclipse.wst.validation.prefs:

#Mon Jan 26 03:31:54 CET 2009
DELEGATES_PREFERENCE=delegateValidatorList
USER_BUILD_PREFERENCE=enabledBuildValidatorListorg.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator;org.eclipse.wst.common.componentcore.internal.ModuleCoreValidator;org.eclipse.wst.wsi.ui.internal.WSIMessageValidator;
USER_MANUAL_PREFERENCE=enaunching.baseBrowserLibrary

org.eclipse.wst.jsdt.ui.superType.name:

Window

org.eclipse.wst.validation.prefs:

#Mon Jan 26 03:31:54 CET 2009
DELEGATES_PREFERENCE=delegateValidatorList
USER_BUILD_PREFERENCE=enabledBuildValidatorListorg.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator;org.eclipse.wst.common.componentcore.internal.ModuleCoreValidator;org.eclipse.wst.wsi.ui.internal.WSIMessageValidator;
USER_MANUAL_PREFERENCE=enabledManualValidatorListorg.eclipse.jst.j2ee.internal.classpathdep.ClasspathDependencyValidator;org.eclipse.wst.common.componentcore.internal.ModuleCoreValidator;org.eclipse.wst.wsi.ui.internal.WSIMessageValidator;
USER_PREFERENCE=overrideGlobalPreferencesfalse
eclipse.preferences.version=1
override=false
suspend=false
vf.version=3

答案 1

我看看:

  • org.eclipse.jdt.core.prefs真的很重要,可以控制你如何编译你的java项目。
  • org.eclipse.jst.common.project.facet.core.prefs添加了一个 Facet,基本上是一种在 Eclipse 中为项目引入功能的方法,因此一个项目可以有一个或多个方面(即它可以是 Java 项目和 EJB 项目)。有关说明,请参阅此处(搜索单词“Facet”)
  • org.eclipse.jst.j2ee.ejb.annotations.xdoclet.prefs配置 XDoclet 注释支持的一种方法
  • org.eclipse.wst.common.component部署结构相关。
  • org.eclipse.wst.common.project.facet.core.xml用于为 J2EE 项目指定目标服务器
  • org.eclipse.wst.validation.prefs引用 Wst 验证
  • org.eclipse.wst.jsdt.ui.superType.container/name 如此处所述,是 JSDT 部分的配置:

    默认情况下,纯 javascript 文件 (.js) 从对象 Global 继承成员。静态/动态 Web 项目中包含的 HTML 文件从对象 Window 继承成员。
    因此,如果您的上下文是一个普通的javaScript文件,则似乎只有Window.window或Window.alert(..)是有效的,因为没有一个Window成员被继承。您真正想要的是从 Window 对象的实例继承此字段 + 方法。

    JSDT 支持项目级别的可配置超类型。项目中的每个.js或.html文件都继承项目超类型中的所有字段和方法。默认情况下,对于独立 JavaScript 项目,该类型为“全局”,对于静态/动态 Web 项目,类型为“窗口”。

    您可以从 JavaScript 包含路径属性页将项目的超类型从“对象全局”更改为“对象窗口”,以实现所需的结果...在“全局顺序/超级类型”页上,将“超级类型”更改为 ECMA 库中的“窗口”。


答案 2

您应该使用并信任清单中的“依赖项”选项卡。断续器在使用Eclipse插件工作了大约一年之后,我不会尝试找出哪个eclipse插件依赖性是必需的。

当您错过运行时需要的插件时,您会遇到不是很有用的异常,并且解决方案也不明显。

每次重构代码时,都应选择 MANIFEST 操作“查找未使用的依赖项”。它还有助于检查类,eclipse将创建,当您从头开始生成完整的新插件时。eclipse插件没有很好的文档,所以我会使用提供的操作,而不是花那么多次来理解它们。

如果你真的想找出使用了哪些插件,当你从头开始创建一个插件时,你可以删除一些扩展声明或变量,然后按“查找未使用的依赖项”操作来查看哪个插件是用于调用的。


推荐