【问题标题】:Prevent Eclipse targeting/linking files from Maven target folder防止 Eclipse 定位/链接来自 Maven 目标文件夹的文件
【发布时间】:2013-03-12 07:47:19
【问题描述】:

我正在使用 MavenEclipse 开发一个 Web 应用程序。我还使用 m2e 插件 及其 wtp 连接器即时将更改发布到服务器中。这些插件在 Maven 的目标文件夹中创建一个文件夹,名为 target/m2e-wtp/web-resources

我的问题是当我从我的项目中编辑一个 xhtml 文件并链接到另一个文件时,当我通过它时,ctrl+click 将我带到这个目标文件夹,当我显然想要转到 webapp 目录中的文件。如果我尝试编辑该文件,Eclipse 会警告我这是一个派生文件。

有没有办法避免这个问题?

已编辑

这是我项目的类路径内容:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" output="target/classes" path="src/main/java">
        <attributes>
            <attribute name="optional" value="true"/>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources/bundles"/>
    <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources/classes/interna"/>
    <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources/hibernate-mappings"/>
    <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources/styles/headers/premium"/>
    <classpathentry excluding="**" including="**/*.java" kind="src" output="target/classes" path="src/main/resources/styles/css/premium"/>
    <classpathentry kind="src" output="target/test-classes" path="src/test/java">
        <attributes>
            <attribute name="optional" value="true"/>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
        <attributes>
            <attribute name="maven.pomderived" value="true"/>
            <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="output" path="target/classes"/>
</classpath>

【问题讨论】:

  • 你能发布你的 .classpath 文件的内容吗?
  • @Samuel EUSTACHI 完成。
  • 这是一个非常复杂的 .classpath,但我在这里看不到问题。
  • 我可以建议在 NAVIGATOR 视图中搜索字符串“web-resources”以找到罪魁祸首(我假设您的项目性质之一的配置文件在这里搞砸了)
  • 我能找到的只是这行&lt;wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/&gt; 到不同的配置文件中。我猜这只是意味着资源将在那里部署。

标签: eclipse maven m2e eclipse-wtp


【解决方案1】:

我使用 Working Set 从 Eclipse 视图中排除选定的文件/文件夹。

您可以通过多种方式创建/修改/选择工作集,例如:在项目浏览器的工具栏上,单击“查看菜单”按钮,打开显示选项的下拉菜单;在那里你可以从列表中选择一个现有的工作集,或者通过选择“新建...”来创建一个新的。

【讨论】:

  • 可能是这样,但是我喜欢在项目中显示我的 target 文件夹,以便保持对 m2e-wtp 插件部署到我的服务器的内容的控制...
  • @Xtreme Biker:之前我没有仔细阅读你的问题。您说您使用的是 ctrl+click,而不是 ctrl-shift-T 或 ctrl-shift-R(即“打开类型”和“打开资源”对话框,可以使用工作集进行过滤而不影响项目资源管理器)。但是我添加了一个不同的答案,希望对您有所帮助。
【解决方案2】:

target/m2e-wtp/web-resources文件夹包含“自动生成的资源”,例如一个过滤的web.xml,所以webapp目录下的文件(如果有的话)可以与 Eclipse 打开的不同。 但是请检查"What is this web resources folder?",特别是"That web resources folder is causing me some trouble, can i get rid of it?"

【讨论】:

  • 阅读了您的第二个链接后,我想试一试,但在我的项目的 Maven 属性下找不到 WTP 部分。这发生在我的两个 Eclipse 安装中,JunoIndigo。但是,如果我在 Eclipse Indigo 中尝试 ctrl+click,它会让我在好文件和目标文件之间做出选择。所以这个问题只发生在我的 Juno 安装中,可能与我安装的 JBoss 工具 插件有关,该插件也有用于 Maven 的工具。还是谢谢你。
猜你喜欢
  • 1970-01-01
  • 2016-08-28
  • 2015-10-30
  • 2019-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多