我試圖在我的java項目中用maven設置集成測試階段。我對jboss沒有任何依賴關係(除了由hibernate-entitymanager傳遞的jboss-common-core)。我爲故障安全插件的設置是:maven集成測試階段將jbossall-client.jar附加到類路徑中
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.12</version>
<executions>
<execution>
<phase>integration-test</phase>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
當我運行mvn integration-test -Dmaven.failsafe.debug
和聯播我的調試和評估System.getProperty("java.class.path")
我看到一個jbossall-client.jar中的類路徑!當我在IntellJ 122.327本地運行測試時,類路徑不包含jbossall-client.jar。我一直試圖弄清楚爲什麼這個jar被添加到classpath中。有沒有其他人經歷過這個?提前致謝。
更新:我試圖從我的.m2/repository目錄中刪除jbossall-client,並且只運行clean和package階段,好像我的項目確實對此有依賴關係,因爲這個jar在運行包時被下載。仍然很奇怪,因爲我的POM對此jar沒有直接或傳遞依賴。此外,當我嘗試將其添加到類路徑中的故障安全插件運行時,通過增加配置
<classpathDependencyExcludes>org.jboss.client:jbossall-client</classpathDependencyExcludes>
排除它,我得到以下錯誤:
Unable to parse configuration of mojo org.apache.maven.plugins:maven-failsafe-plugin:2.12:integration-test
for parameter classpathDependencyExcludes: Cannot assign configuration entry 'classpathDependencyExcludes'
with value 'org.jboss.client:jbossall-client' of type java.lang.String
to property of type java.util.List -> [Help 1]
的failsafe plugin website狀態,標籤應該有價值groupId:artifactId
這就是我所擁有的。任何想法,爲什麼這是失敗?
第二次更新:剛纔意識到在故障安全插件webpage中存在拼寫錯誤。在他們的例子:
<classpathDependencyExcludes>
<classpathDependencyExcludes>org.apache.commons:commons-email</classpathDependencyExcludes>
</classpathDependencyExcludes>
確實應該
<classpathDependencyExcludes>
<classpathDependencyExclude>org.apache.commons:commons-email</classpathDependencyExclude>
</classpathDependencyExcludes>
現在我能獲得通過解析錯誤,但jbossall客戶端仍然被加載到類路徑中。