当前位置: 首页 > 知识库问答 >
问题:

maven没有将测试/Java类编译到目标文件夹中

许永年
2023-03-14

我尝试通过maven->clean和project->clean来清理我的项目,但没有效果。我尝试在构建路径下显式更改输出文件夹,但不确定为src/test/java选择什么

<project xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                      http://maven.apache.org/xsd/maven-4.0.0.xsd" >
  <modelVersion>4.0.0</modelVersion>
  <groupId>abc</groupId>
  <artifactId>xyz</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
  <description>Test</description>
  <dependencies>
        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.11</version>
            <scope>compile</scope>
        </dependency>
    
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>21.0</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-support</artifactId>
            <version>3.3.1</version>
        </dependency>
        
        
    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.5</version>
    </dependency>
    
    <dependency>
         <groupId>org.seleniumhq.selenium</groupId>
         <artifactId>selenium-chrome-driver</artifactId>
         <version>3.3.1</version>
    </dependency>
        <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-ie-driver -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-ie-driver</artifactId>
        <version>3.3.1</version>
    </dependency>
        
        <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.16</version>
    </dependency>

    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>3.16</version>
    </dependency>
        
        <dependency>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis</artifactId>
            <version>1.4.01</version>
        </dependency>
    
        
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.37</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
            <!-- https://mvnrepository.com/artifact/com.relevantcodes/extentreports -->
        <dependency>
             <groupId>com.relevantcodes</groupId>
             <artifactId>extentreports</artifactId>
            <version>2.41.0</version>
        </dependency>
    
        
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-firefox-driver</artifactId>
            <version>3.1.0</version>
        </dependency>
        
        <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin -->
    
    </dependencies>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
 
  <build>

   <resources>
     <resource>
       <directory>src/test/resources</directory>
       <filtering>false</filtering>
       <includes>
          <include>**/*.properties</include>
          
        </includes>
     </resource>
   </resources>

    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>

                <source>1.8</source>
                <target>1.8</target>
             
            </configuration>
        </plugin>
    </plugins>

  </build>
</project>

并且我得到了在类路径错误中找不到TestNG类:

org.testng.TestNGException: 
Cannot find class in classpath: testclass file

早些时候,这段代码运行良好。我只是尝试通过更改maven项目的工件id来调整项目,然后就无法继续了。

共有1个答案

陆昂然
2023-03-14

我不知道它的应用范围有多广,但我成功地做到了:

右键单击>Java build path>Source确保选中所有4个文件夹的Include:(All)和Exclude:(None

src/main/java

SRC/主要/资源

SRC/测试/Java

SRC/测试/资源

 类似资料:
  • 伙计们! 我是TestNG的新手,我正在用Maven(Surefire插件)和Eclipse进行尝试。 当我的测试由Maven运行时,它的报告会按预期放在target/surefire-reports上,但同样的测试由Eclipse TestNG插件运行时,我希望它们也放在target子文件夹中(因此,由clean Maven goal清理,由git忽略,这并不是为了尊重Maven文件夹组织),但

  • 任何帮助都将非常感谢!

  • 问题内容: 如何使用javac在Unix上的所有子文件夹中编译所有java文件? 问题答案: 使用诸如Ant或Maven之类的构建工具。与使用UNIX工具相比,这两种方法都可以使您以更好的方式管理依赖关系。And和Maven都还允许您定义除编译之外要执行的自定义任务。Maven还附带了用于管理远程存储库中的外部依赖项的约定,以及用于运行单元测试和支持连续集成的功能的约定。 即使您只需要偶尔编译一次

  • 编译可调试的目标文件 为了使得编译出来的代码是能够被gdb这样的调试器调试,我们需要在使用gcc编译源文件的时候添加参数:"-g"。这样编译出来的目标文件中才会包含可以用于调试器进行调试的相关符号信息。

  • Maven编译器插件没有将生成的类(mapstruct中的映射器)复制到target\generated test sources\test annotation。目录已创建,但为空。生成的类仅复制到目标\生成的源\注释。 这是我的maven编译器插件配置: 谢谢你!

  • 我有一个 .NET MVC 项目,我正在尝试使用 Jenkins 进行部署。 我一直让 Jenkins 运行 msbuild,然后使用 RoboCopy 复制生成的文件。我想切换到仅使用发布配置文件。发布配置文件在使用Visual Studio的本地计算机上运行良好,但在Jenkins主机上使用msbuild失败。 它给出的错误是 ASPNETCOMPILER:错误ASPRUNTIME:找不到路径