Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse将多个classpathentry分层组合到同一输出中_Java_Eclipse_Classpath - Fatal编程技术网

Java Eclipse将多个classpathentry分层组合到同一输出中

Java Eclipse将多个classpathentry分层组合到同一输出中,java,eclipse,classpath,Java,Eclipse,Classpath,我在项目的.classpath文件中有以下记录: <classpathentry kind="src" path="src/main/webapp" output="build/webapp"/> <classpathentry kind="src" path="src/main/java" output="build/webapp/WEB-INF/classes"/> <classpathentry kind="src" path="src/main/reso

我在项目的
.classpath
文件中有以下记录:

<classpathentry kind="src" path="src/main/webapp"
 output="build/webapp"/>
<classpathentry kind="src" path="src/main/java"
 output="build/webapp/WEB-INF/classes"/>
<classpathentry kind="src" path="src/main/resources"
 output="build/webapp/WEB-INF/classes"/>
这根本没用

classpathentry记录的顺序无关紧要

Q1. 请帮助建议我应该如何编写classpathentry记录,以便按层次结构将它们合并到同一输出目录中,以便较高文件夹层次结构的classpathentry不会使较低文件夹层次结构的classpathentry无效

Q2. 顺便说一句,我找不到eclipse
.classpath
文件的xml标记和标记属性的任何文档规范。我试过用谷歌搜索“EclipseClasspathEntry”,但没有结果。有人能给我指一份文件吗

  • classpathentry标记的唯一属性是“导出”、“排除”、“种类”、“路径”、“输出”吗
  • 例如,在.classpath文件中允许使用哪些其他标记
  • 每个标签和标签属性的功能说明

首先,.classpath不打算手动编辑。该文件是JDT的配置文件。名称以“.”开头的文件将对用户隐藏。如果手动编辑此文件,在某些情况下,与实际配置对象的同步会中断(JDT可以,因为配置在JDT中自动同步)

打开项目的属性对话框,选择“Java构建路径”。然后您可以看到该文件的GUI编辑器。GUI将回答您的问题。它允许管理src到输出的映射、重新排序等,但它不能帮助您按要求嵌套输出

输出文件夹不能分层嵌套在另一个输出文件夹下。因为可能会引起冲突。我相信语法对你没有帮助。它不会让你做你想做的事


这个文件只是从存储的数据中派生出来的。如果你的需求很强,你就必须考虑自定义构建脚本,或者雇佣一些Eclipse工程师来为你的需求扩展建设者。

我误解了步骤2和3。您真的想将.java文件从src/main/java复制到build/webapp/WEB-INF/classes吗?我相信您不想这样做。您想编译它(通常是编译到build文件夹中)并将编译后的.class文件复制到WEB-INF/classes,对吗?您是对的。它应该将src/main/java编译成build/webapp/WEB-INF/classes。我会改正的。有可能把项目迁移到maven或gradle吗?这可能会帮助您获得一个干净和标准化的项目结构,通过m2eclipse插件,eclipse集成使事情变得更加简单。然而,我希望这样做是为了帮助那些希望能够直接从IDE按钮进行测试/编译/调试/热交换的同事。当我的pom.xml被更改时,我执行mvn eclipse:eclipse,并且所有设置都正确(当然是eclipse中的项目刷新)。很抱歉,我一直在使用您自eclipse 3.3以来描述的方式。然而,我经常不得不手动编辑.classpath,以完成GUI无法为我配置的操作。现在,我需要关于.classpath xml元素语法的答案,尽管我们“不应该”自己编辑文件,但到目前为止,我从未费心去找出这些元素。一个输出文件夹不能嵌套另一个输出文件夹。因为可能会有冲突。我敢肯定语法对你没有帮助。JDT编译器不使用此文件,此文件只是派生存储数据。如果你的需求很强,你就必须考虑定制构建脚本,或者雇佣一些Eclipse工程师来为你的需求扩展建设者。
<classpathentry kind="src" path="src/main/webapp" output="build/webapp"
 excluding="WEB-INF/classes/**"/>