我寫了一個測驗,我從包中匯入一個類 com/intel/epgsw/JunitAdapter.groovy
當我嘗試運行測驗時,出現此錯誤:
[ERROR] Failed to execute goal org.codehaus.gmavenplus:gmavenplus-plugin:1.5:testCompile (groovy) on project jenkinsfile-test-shared-library: Error occurred while calling a method on a Groovy class from classpath. InvocationTargetException: startup failed:
[ERROR] src/test/groovy/CloneTestSpec.groovy: 3: unable to resolve class src.com.intel.epgsw.JunitAdapter
[ERROR] @ line 3, column 1.
[ERROR] import com.intel.epgsw.JunitAdapter
[ERROR] ^
測驗檔案存在于: src/test/groovy
需要匯入的類:com/intel/epgsw/JunitAdapter.groovy
我的測驗檔案是CloneTestSpec.groovy
這是樹:
src
│ ├── com
│ │ └── intel
│ │ ├── epgsw
│ │ │ ├── TestResultEnum.groovy
│ │ │ ├── **JunitAdapter.groovy**
│ │ │
│ └── test
│ ├── com
│ │ └── intel
│ │ └── epgsw
│ ├── epgsw
│ │ └── FooBar98.groovy
│ ├── groovy
│ │ ├── **CloneTestSpec.groovy**
這是我的 pom.xml 的一部分
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<executions>
<execution>
<configuration>
<testSourceDirectory>src/test/groovy</testSourceDirectory>
<includes>
<include>**/*Spec.java</include>
<include>**/*Spec.class</include>
<include>**/*Spec</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.gmavenplus</groupId>
<artifactId>gmavenplus-plugin</artifactId>
<version>${groovy.gmaven.pluginVersion}</version>
<executions>
<execution>
<id>groovy</id>
<goals>
<goal>addTestSources</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration>
<sources>
<source>
<directory>src</directory>
<includes>
<include>**/*.groovy</include>
</includes>
</source>
</sources>
<testSources>
<testSource>
<directory>src/test/groovy/com/intel/epgsw</directory>
<includes>
<include>**/*.groovy</include>
</includes>
</testSource>
</testSources>
</configuration>
</plugin>
</plugins>
uj5u.com熱心網友回復:
您的目錄布局混亂。請將您所有的測驗類移動到src/test/groovy基本檔案夾中。在那里,您可以根據包結構創建目錄結構。例如(如果沒有看到每個檔案中的包宣告,我不能肯定地說),假設
- 所有應用程式類都是 Java 類,
- 所有測驗類都是 Groovy 類和
- 所有類都在完全相同的包中
com.intel.epgsw:
src
main
java
com
intel
epgsw
ApplicationClassA.java
ApplicationClassB.java
test
groovy
com
intel
epgsw
TestResultEnum.groovy
JunitAdapter.groovy
FooBar98.groovy
CloneTestSpec.groovy
如果我的上述任何假設是錯誤的,則您需要相應地調整目錄結構。但是您具有 3 個不同基本目錄的混亂目錄布局會導致您面臨的麻煩。請務必學習一些 Java、Groovy 和 Maven 基礎知識,尤其是Maven 標準目錄布局。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/370428.html
