Jar maven 依赖项从我的 WEB-INF/lib 中消失

Jar maven dependency disappears from my WEB-INF/lib

我正在开发这个 maven web (java) 应用程序 (lwl-module),并通过 eclipse 将它部署到 JBoss 7。

当我在 JBoss 7 下扩展 Web 应用程序的节点时,它下面有 2 个 jar 文件,就像它上面的那个 (bhr-module):

但是在我更改其中一个 jar 文件 (commons-web) 并重新安装它之后,那个 jar 文件从我的应用程序节点中消失了。当我重新部署我的 Web 应用程序时 JBoss 抱怨它找不到它的 类.

我已经 运行 mvn install jar 文件和我的 web 应用程序,从 JBoss 中删除模块并再次添加,但 jar 文件没有添加到我的节点或复制到我的 Web 应用程序的 WEB-INF/lib 目录。

我的罐子 pom.xml 看起来像这样:

<modelVersion>4.0.0</modelVersion>
<groupId>nl.zin</groupId>
<artifactId>commons-web</artifactId>
<version>1.0.6-SNAPSHOT</version>
<name>ZiN Commons Web Utilities</name>

以及我在我的网络应用程序中的依赖声明 pom.xml:

    <dependency>
        <groupId>nl.zin</groupId>
        <artifactId>commons-web</artifactId>
        <version>1.0.6-SNAPSHOT</version>
    </dependency>

这两个都是我的eclipse 工作区中的项目。我已经尝试从我的 jar 和 war 中删除“-SNAPSHOT”,但没有成功。

另一个问题是,为什么 JBoss/Eclipse 只显示我的 Web 应用程序下的那 2 个 jar,而它们依赖于许多其他也被复制到它们的 WEB-INF/lib 目录中的 jar?

这是我的网络应用程序的完整 pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>nl.cvz.azrportaal</groupId>
    <artifactId>lwl-module</artifactId>
    <version>1.4-SNAPSHOT</version>
    <name>CVZ LWL Module</name>
    <packaging>war</packaging>
    <properties>
        <java.version>1.7</java.version>
        <javax.servlet.version>3.1.0</javax.servlet.version>
        <javax.jsp.version>2.3.0</javax.jsp.version>
        <javax.jstl.version>1.2</javax.jstl.version>
        <!-- Spring 4.0 proven not compatible with Spring Data. -->
        <org.spring.version>3.2.8.RELEASE</org.spring.version>
        <org.spring.jdbc.version>3.2.8.RELEASE</org.spring.jdbc.version>
        <org.slf4j-version>1.6.6</org.slf4j-version>
        <!-- ZiN artifacts -->
        <nl.zin.commons-web.version>1.0.6-SNAPSHOT</nl.zin.commons-web.version>
    </properties>

<dependencies>
    <!-- ZiN -->
    <dependency>
        <groupId>nl.zin</groupId>
        <artifactId>commons-web</artifactId>
        <version>${nl.zin.commons-web.version}</version>
    </dependency>
    <!-- Log4j -->
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.15</version>
        <exclusions>
            <exclusion>
                <groupId>javax.mail</groupId>
                <artifactId>mail</artifactId>
            </exclusion>
            <exclusion>
                <groupId>javax.jms</groupId>
                <artifactId>jms</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.sun.jdmk</groupId>
                <artifactId>jmxtools</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.sun.jmx</groupId>
                <artifactId>jmxri</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <!-- Java EE -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>${javax.servlet.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>${javax.jsp.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>${javax.jstl.version}</version>
    </dependency>

    <!-- Spring -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${org.spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${org.spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${org.spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${org.spring.jdbc.version}</version>
    </dependency>
    <!-- DisplayTag -->
    <dependency>
        <groupId>displaytag</groupId>
        <artifactId>displaytag</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>2.2</version>
    </dependency>
    <!-- CXF -->
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-frontend-jaxws</artifactId>
        <version>2.2.6</version>
        <exclusions>
            <exclusion>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-javamail_1.4_spec</artifactId>
            </exclusion>
            <exclusion>
                <artifactId>saaj-api</artifactId>
                <groupId>javax.xml.soap</groupId>
            </exclusion>
            <exclusion>
                <artifactId>saaj-impl</artifactId>
                <groupId>com.sun.xml.messaging.saaj</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-transports-http</artifactId>
        <version>2.2.6</version>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-transports-http-jetty</artifactId>
        <version>2.2.6</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-ws-security</artifactId>
        <version>2.2.6</version>
        <exclusions>
            <exclusion>
                <!-- Let op deze library mag niet mee verpakt worden maar moet in de 
                    /server/cvz/lib directory van JBoss geplaatst worden -->
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk15</artifactId>
            </exclusion>
            <exclusion>
                <groupId>xalan</groupId>
                <artifactId>xalan</artifactId>
            </exclusion>
            <exclusion>
                <artifactId>saaj-api</artifactId>
                <groupId>javax.xml.soap</groupId>
            </exclusion>
        </exclusions>
    </dependency>
    <!-- 
    <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>2.10.0</version>
    </dependency>
     -->
    <!-- Commons -->
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-io</artifactId>
        <version>1.3.2</version>
    </dependency>
    <!-- Test -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.7</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${org.spring.version}</version>
        <scope>test</scope>
    </dependency>

</dependencies>
<build>
    <finalName>landwachtlijstmodule</finalName>
    <plugins>
        <plugin>
            <artifactId>maven-eclipse-plugin</artifactId>
            <version>2.9</version>
            <configuration>
                <additionalProjectnatures>
                    <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
                </additionalProjectnatures>
                <additionalBuildcommands>
                    <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
                </additionalBuildcommands>
                <downloadSources>true</downloadSources>
                <downloadJavadocs>true</downloadJavadocs>
            </configuration>
        </plugin>           
        <plugin>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-codegen-plugin</artifactId>
            <version>2.7.11</version>
            <executions>
                <execution>
                    <id>generate-sources</id>
                    <phase>generate-sources</phase>
                    <configuration>
                        <sourceRoot>${basedir}/src/main/generated</sourceRoot>
                        <defaultOptions>
                            <frontEnd>jaxws21</frontEnd>
                        </defaultOptions>
                        <wsdlOptions>
                            <wsdlOption>
                                <wsdl>src/main/resources/AZRKetenpartijService.wsdl</wsdl>
                                <extraargs>
                                    <extraarg>-client</extraarg>
                                </extraargs>
                            </wsdlOption>
                            <wsdlOption>
                                <wsdl>src/main/resources/LandelijkeWachtlijst.wsdl</wsdl>
                                <extraargs>
                                    <extraarg>-client</extraarg>
                                </extraargs>
                            </wsdlOption>
                        </wsdlOptions>
                    </configuration>
                    <goals>
                        <goal>wsdl2java</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
    <extensions>
        <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-webdav-jackrabbit</artifactId>
            <version>1.0-beta-7</version>
        </extension>
    </extensions>
</build>

您需要从 eclipse 市场安装 JBoss maven 插件并创建一个新的 maven 项目并将您的代码添加到应用程序。

完成后,将项目添加到在 eclipse 中导入的 jboss 服务器上,然后选中 Build Actomatically。

每当您更改文件时,应用程序都需要发布到复制最新 jar 文件和更新 class 文件的服务器。

所有作为 maven 依赖项提到的 jar 都将在 eclipse 中显示。

希望这对您有所帮助。

你也可以试试mvn clean compile install

显然我的网络应用程序下的那些节点是我的应用程序所依赖的网络片段。

当我写 here 时,我的 Web 片段 (commons-web) 存在 Java EE 配置问题 here

此错误并未导致 Maven 构建失败,但 Eclipse 未将我的项目识别为 JBoss 的 Web 片段。