【问题标题】:How to add folder to classpath?如何将文件夹添加到类路径?
【发布时间】:2019-12-22 04:37:55
【问题描述】:

我正在为一个项目添加新的集成测试。但是,我使用的是 vscode,每次打开 integration-test 文件夹下的 Java 文件时,都会收到警告“*.java is not on the classpath。只会报告语法错误”。

我试过Add A Class-Path Entry To The ManifestAdditional Classpath Elements 等,但是他们没办法帮我解决。

如何将文件夹 integration-test 添加到类路径中? (.classpath是自动生成的,我试过直接修改,但是每次vscode重新打开当前项目都会重写内容)。我希望 integration-test 文件夹中的任何 java 文件的行为都与 maintest 文件夹中的文件一样。特别是我希望这些测试文件可以与 Java Test Runner 扩展一起使用。

注意:我并不是要从integration-test 文件夹中加载任何资源。我希望我可以创建、编辑 integration-test 文件夹中的任何 Java 文件,就像 maintest 文件夹中的所有 Java 文件一样。在integration-test里面,它就像一个test文件夹,有一个java文件夹等等。现在,当我使用intellisense自动完成classsn-p时,vscode不会为我自动完成包路径,并且 vscode 无法识别任何已经在 src/main/java/com... 中的公共类。

src 中的当前文件夹结构:

【问题讨论】:

    标签: java maven visual-studio-code pom.xml


    【解决方案1】:

    将目录标记为资源目录using maven-resources-plugin:

    <project>
        ...
        <name>My Resources Plugin Practice Project</name>
        ...
        <build>
            ...
            <resources>
                <resource>
                    <directory>src/integration-test/resources</directory>
                </resource>
            </resources>
            ...
        </build>
        ...
    </project>
    

    【讨论】:

      【解决方案2】:

      您还可以添加新的测试资源文件夹。

      <build>
        <testResources>
          <testResource>
              <directory>${project.basedir}/src/test/resources</directory>
          </testResource>
          <testResource>
              <directory>${project.basedir}/src/integration-test/resources</directory>
          </testResource>
        </testResources>
      </build>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-07-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-29
        • 1970-01-01
        相关资源
        最近更新 更多