我正在研究这个maven web(java)应用程序(lwl-module),并通过eclipse将它部署到JBoss 7。
当我在JBoss 7下扩展Web应用程序的节点时,它下面有2个jar文件,就像它上面的那个(bhr-module):
但在我对其中一个jar文件(commons-web)进行了更改并重新安装之后,该jar文件从我的应用程序节点中消失了。当我重新部署我的Web应用程序时,JBoss抱怨它无法找到它的类。
我在jar文件和我的Web应用程序上运行mvn install
,从JBoss中删除了模块并再次添加,但jar文件未添加到我的节点或复制到我的Web应用程序的WEB-INF / lib目录。
我的jar的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>
我的web应用程序的pom.xml中的依赖声明:
<dependency>
<groupId>nl.zin</groupId>
<artifactId>commons-web</artifactId>
<version>1.0.6-SNAPSHOT</version>
</dependency>
这两个都是我的eclipse工作区中的项目。而且我已经尝试从我的罐子和战争中删除“-SNAPSHOT”,但没有运气。
另一个问题是,为什么JBoss / Eclipse只会在我的Web应用程序中显示这些2个罐子,因为它们依赖于许多其他罐子,这些罐子也会被复制到他们的WEB-INF / lib目录中?
这是我的网络应用程序的完整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>
答案 0 :(得分:1)
显然,我的Web应用程序下的节点是我的应用程序所依赖的Web片段。
我的Web片段(commons-web)存在Java EE配置问题,正如我写的here。
此错误未导致maven构建失败,但Eclipse未将我的项目识别为JBoss的Web片段。
答案 1 :(得分:0)
您需要从eclipse市场安装JBoss maven插件并创建一个新的maven项目并将您的代码添加到应用程序中。
完成后,将项目添加到在eclipse中导入的jboss服务器上并检查Build Actomatically。
每当您更改文件时,应用程序都需要发布到最新jar文件和更新的类文件的服务器。
作为maven依赖项提到的所有jar都将在eclipse中显示。
希望这有帮助。
答案 2 :(得分:-1)
您还可以尝试 mvn clean compile install