Играть! Команда war - возможно ли исключить определенный jar из папки application / lib - PullRequest
3 голосов
/ 06 января 2012

Я пытаюсь автоматизировать развертывание приложения воспроизведения в виде файла .war.

В конце приложение будет запущено на JBOSS AS7.Проблема, с которой я сейчас сталкиваюсь, заключается в том, что при развертывании войны в JBOSS я получаю это исключение.

14:52:39,728 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) Starting  deployment of "my-test-app-server-0.0.2-SNAPSHOT.war"
14:52:43,822 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC00001: Failed to start service jboss.deployment.unit."my-test-app-server-0.0.2-SNAPSHOT.war".PARSE: org.jboss.msc.service.Start 
Exception in service jboss.deployment.unit."my-test-app-server-0.0.2-SNAPSHOT.war".PARSE: Failed to process phase PARSE of deployment "my-test-app-server-0.0.2-SNAPSHOT.war"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:121) [jboss-as-server-7.0.2.Final.jar:7.0.2.Final]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824) [jboss-msc-1.0.1.GA.jar:1.0.1.GA]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759) [jboss-msc-1.0.1.GA.jar:1.0.1.GA]
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_22]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_22]
    at java.lang.Thread.run(Thread.java:662) [:1.6.0_22]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: Failed to parse POJO xml ["/C:/jboss-as-web-7.0.2.Final/bin/content/my-test-app-server-0.0.2-SNAPSHOT.war/WEB-INF/lib/netty-3.2.5.Final.jar/META-INF/jboss-beans.xml"]
    at org.jboss.as.pojo.KernelDeploymentParsingProcessor.parseDescriptor(KernelDeploymentParsingProcessor.java:130)
    at org.jboss.as.pojo.KernelDeploymentParsingProcessor.parseDescriptors(KernelDeploymentParsingProcessor.java:104)
    at org.jboss.as.pojo.KernelDeploymentParsingProcessor.deploy(KernelDeploymentParsingProcessor.java:76)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:115) [jboss-as-server-7.0.2.Final.jar:7.0.2.Final]
    ... 5 more
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[17,1] Message: Unexpected element '{urn:jboss:bean-deployer:2.0}deployment'
    at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:98) [staxmapper-1.0.0.Final.jar:1.0.0.Final]
    at org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:59) [staxmapper-1.0.0.Final.jar:1.0.0.Final]
    at org.jboss.as.pojo.KernelDeploymentParsingProcessor.parseDescriptor(KernelDeploymentParsingProcessor.java:123)
    ... 8 more

Я обнаружил, что если я вручную удалю lib / netty-3.2.5.Final.JAR файл с войны, прежде чем развернуть его на JBOSS, проблема исчезнет.

Теперь есть ли способ сделать это, когда я генерирую войну с командой play war?Любая информация по этому вопросу будет принята с благодарностью.Спасибо

1 Ответ

4 голосов
/ 06 января 2012

Не то, чтобы я знал просто. Команда play war позволяет вам передать список исключений, в который я скопировал комментарии из файла python ниже.

~ To exclude some directories, use the --exclude option and ':'-separator (eg: --exclude .svn:target:logs:tmp).

Однако это говорит о том, что он будет работать только для каталогов.

Выполненная команда - это package_as_war в framework/pym/utils.py, так что вы можете взломать ее, чтобы специально удалить файл, но, очевидно, это не будет обратно совместимо, если вы обновите свою версию Play.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...