使春季5瘦战与Jboss野蝇兼容

时间:2018-12-13 13:14:43

标签: spring eclipse spring-boot wildfly maven-3

我一直在尝试创建一个瘦的WAR,它将允许我将所有常见的jar提取到wildfly模块中。这是因为70MB WAR在日常操作中变得不可持续。

我的方法是:

  1. (除了我自己的库和spring-web.jar外)用所有Jars(手动)创建一个wildfly模块。

  2. 修改了我的战争项目pom.xml,添加了以下内容:(其中mystuff-*。jar是我们自己的项目库)

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                <skinnyWars>true</skinnyWars>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        </manifest>
                </archive>
                <packagingExcludes>
                    %regex[WEB-INF/lib/(?!spring-web|mystuff-).*.jar]
                </packagingExcludes>
            </configuration>
        </plugin>
    
  3. 添加了带有以下内容的jboss-deployment-structure.xml:

    <jboss-deployment-structure>
        <deployment>
            <dependencies>
                <module name="my-company.core-libs" />
            </dependencies>
        </deployment>
    </jboss-deployment-structure>
    

现在有两个问题:首先,我得到了“在类路径上未检测到Spring WebApplicationInitialized类型,因此应用程序根本无法启动。

第二, /wildfly_root/bin/content/spring-tx-5.1.3-relase.jar 中的“类路径条目spring-tx-5.1.3.RELEASE.jar”的卡通不能指向“用于类路径引用的有效jar”消息。 (这是一个示例,一个Spring-boot应用程序有70MB的jar,所有的jar都发出此警告)。

检查清单后,我在Class-Path下看到了很多罐子,看起来不错。

我该如何解决?当然,必须有一种方法可以强制wildfly找到我的SpringBootServletInitializer类并启动应用程序。

顺便说一句,我在maven-war-plugin上尝试了一些选项,以上是(到目前为止)唯一允许Eclipe直接部署到服务器的选项。

堆栈:

  • Wildfly 15
  • 带有spring-boot的Spring 5.1.3。
  • 最新的专家和日食。

任何帮助表示赞赏。

0 个答案:

没有答案