因此,作为建议在另一个线程(Arquillian ShrinkWrap已切换到管理容器(JBoss作为7.1),现在的错误是不同在POM的Arquillian拆封Maven依赖
新的依赖同治(参见前面的链接,原来的问题看)
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.shrinkwrap.resolver</groupId>
<artifactId>shrinkwrap-resolver-bom</artifactId>
<version>2.1.2</version>
<scope>test</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.jboss.arquillian</groupId>
<artifactId>arquillian-bom</artifactId>
<version>1.1.5.Final</version>
<scope>test</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
然后 我必须添加
<dependency>
<groupId>org.jboss.arquillian.core</groupId>
<artifactId>arquillian-core-api</artifactId>
<version>1.1.4.Final</version>
<scope>test</scope>
</dependency>
因为我有一个异常
Caused by: java.lang.NoClassDefFoundError: org/jboss/arquillian/core/api/threading/ExecutorService
现在JBoss上的本地实例部署似乎做工精细(我会用更简单的测试,一旦测试,因为我有一点点的时间,但我认为一切都很好) 本质的问题是增加在maven中存在的jar依赖关系(mistral,不属于这个maven项目的一部分)到已部署的测试(请参阅此问题的描述(Arquillian ShrinkWrap))。 最后我用这个代码
String str = "C:\\IntellijProject\\Import***\\import****\\migrazione****-be\\pom.xml";
JavaArchive pomFiles = ShrinkWrap.create(MavenImporter.class)
.loadPomFromFile(str).importBuildOutput().as(JavaArchive.class);
/* https://github.com/shrinkwrap/resolver/blob/master/README.asciidoc#resolution-of-artifacts-defined-in-pom-files */
JavaArchive[] mistral_be = Maven.configureResolver().workOffline().resolve("it.****.mistral:mistral-be:0.1.0").withTransitivity().as(JavaArchive.class);
for (int i = 0; i < mistral_be.length ; i++) {
pomFiles = pomFiles.merge(mistral_be[i]);
}
pomFiles.as(ZipExporter.class).exportTo(new File ("C:\\temp\\res.zip"));
它产生相当大的zip文件仅检查结果,但同时try'n部署到JBoss 7.1.1
18:46:17,003 INFO [org.jboss.as.repository] (management-handler-thread - 2) JBAS014900: Content added at location C:\jboss\jboss-as-7.1.1.Final\standalone\data\content\bc\b6fd502db2696342419c17a6d2ed82a4176a4e\content
18:46:17,008 INFO [org.jboss.as.server.deployment] (MSC service thread 1-8) JBAS015876: Starting deployment of "arquillian-service"
我有一个错误:
org.jboss.arquillian.container.spi.client.container.DeploymentException: Could not deploy to container: {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"postImportBE-1.0-SNAPSHOT.jar\".STRUCTURE" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"postImportBE-1.0-SNAPSHOT.jar\".STRUCTURE: Failed to process phase STRUCTURE of deployment \"postImportBE-1.0-SNAPSHOT.jar\""}}
正如我在应用服务器查看日志是
Caused by: java.lang.SecurityException: Invalid signature file digest for Manifest main attributes.
我在压缩文件的目录,大量邻从传递依赖到来文件西北风,是的META_INF看到,所以这个问题可能是这一点。无论如何,有一个有效的签名生成一个JAR文件?或者可能是我正在使用错误的解决方法来解决这个问题(以另一种方式构建jar或类似的想法)? 而我古玩为什么在POM的依赖关系:
<dependency>
<groupId>it.**.mistral</groupId>
<artifactId>mistral-be</artifactId>
<version>0.1.0</version>
<scope>compile</scope>
</dependency>
不是直接由该指令导入?我错过了什么?
String str = "C:\\IntellijProject\\Import***\\import****\\migrazione****-be\\pom.xml";
JavaArchive pomFiles = ShrinkWrap.create(MavenImporter.class)
.loadPomFromFile(str).importBuildOutput().as(JavaArchive.class);
谢谢
我认为问题是,所有依赖JAR中的所有文件都被复制到新的归档中,并且一些相关的JAR有一个签名,该签名也将被复制。但是这个签名显然是错误的。 – svenwltr 2015-10-06 07:36:10