2017-09-15 64 views
1

我在webapp/WEB-INF/lib /文件夹下添加了一个依赖项。使用maven将web jar/WEB-INF/lib中的jar文件复制到WEB-INF/lib下的war中

当我使用maven构建时,我想将它复制到WEB-INF/lib而不是WEB-INF/classes/WEB-INF/lib中。我正在寻找这个使用maven本身来完成。

我已经提到在pom文件中打包为war。所以依赖不会被复制。我是否在pom文件中丢失了某些东西? 我已经复制下面的POM:

<?xml version="1.0" encoding="UTF-8"?> 
<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/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>****</groupId> 
    <artifactId>*****</artifactId> 
    <name>****</name> 
    <description>*****</description> 
    <parent> 
     <groupId>****</groupId> 
     <artifactId>***</artifactId> 
     <version>17.6</version> 
    </parent> 
    <properties> 
     <jbpm.version>6.3.0.Final</jbpm.version> 
    </properties> 
    <dependencies> 
     <dependency> 
      <groupId>org.jbpm</groupId> 
      <artifactId>jbpm-test</artifactId> 
      <version>${jbpm.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>Assets.CKAF.Bundles</groupId> 
      <artifactId>csf-kafka</artifactId> 
      <version>1.2-0.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.kafka</groupId> 
      <artifactId>kafka_2.10</artifactId> 
      <version>0.10.0.0</version> 
     </dependency> 
     <dependency> 
      <groupId>dom4j</groupId> 
      <artifactId>dom4j</artifactId> 
      <version>1.6.1</version> 
     </dependency> 
     <dependency> 
      <groupId>com.opencsv</groupId> 
      <artifactId>opencsv</artifactId> 
      <version>4.0</version> 
     </dependency> 
     <dependency> 
      <groupId>de.ruedigermoeller</groupId> 
      <artifactId>fst</artifactId> 
      <version>2.47</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.avro</groupId> 
      <artifactId>avro</artifactId> 
      <version>1.8.1</version> 
     </dependency> 
     <dependency> 
      <groupId>io.confluent</groupId> 
      <artifactId>kafka-avro-serializer</artifactId> 
      <version>3.0.0</version> 
     </dependency> 
     <dependency> 
      <groupId>io.confluent</groupId> 
      <artifactId>common-config</artifactId> 
      <version>3.0.0</version> 
     </dependency> 
     <dependency> 
      <groupId>io.confluent</groupId> 
      <artifactId>kafka-schema-registry-client</artifactId> 
      <version>3.0.0</version> 
     </dependency> 
     <dependency> 
      <groupId>com.fasterxml.jackson.core</groupId> 
      <artifactId>jackson-databind</artifactId> 
      <version>2.8.7</version> 
     </dependency> 
     <dependency> 
      <groupId>com.fasterxml.jackson.module</groupId> 
      <artifactId>jackson-module-jaxb-annotations</artifactId> 
      <version>2.8.5</version> 
     </dependency> 
     <dependency> 
      <groupId>org.jboss.resteasy</groupId> 
      <artifactId>jaxrs-api</artifactId> 
      <version>3.0.7.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.camel</groupId> 
      <artifactId>camel-core</artifactId> 
      <version>2.19.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.camel</groupId> 
      <artifactId>camel-spring</artifactId> 
      <version>2.19.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache-extras.camel-extra</groupId> 
      <artifactId>camel-jboss6</artifactId> 
      <version>2.18.0</version> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.xml.bind</groupId> 
      <artifactId>jaxb-core</artifactId> 
      <version>2.2.11</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.xml.bind</groupId> 
      <artifactId>jaxb-api</artifactId> 
      <version>2.2.11</version> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.xml.bind</groupId> 
      <artifactId>jaxb-impl</artifactId> 
      <version>2.2.11</version> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.xml.ws</groupId> 
      <artifactId>jaxws-rt</artifactId> 
      <version>2.2.10</version> 
     </dependency> 
    </dependencies> 
    <packaging>war</packaging> 
</project> 

附加的战争的内容截图。

war home folder WEB-INF content

+2

将相关性添加到webapp/WEB-INF/lib中是完全错误的。只需在您的pom中添加所需的依赖关系,然后使用包装“war”就可以完成所有需要的事情...... – khmarbaise

+0

我已经提到包装作为战争并且现在删除了依赖关系。但仍然lib文件夹是空的。 –

+0

必须保留pom中的依赖关系...您必须在普通命令行中调用'mvn clean package',然后查看目标文件夹中生成的war文件... – khmarbaise

回答

1

你的POM似乎罚款。由于您没有为依赖项指定任何“范围”,因此将应用“compile”的默认范围,这意味着一旦您执行了“mvn clean install”例如,它应该将所有这些依赖项打包到“lib”文件夹中你的战争档案。

我看到的唯一的其他事情是你在这个POM中有一个父节,如果你在父项目中有这些依赖,并且它们的范围是“提供的”,那么你不会在你的war文件的lib文件夹下看到它们。

+0

是的你是对的。我的父母pom不包括影响包装的罐子。所以必须使用'combine.self ='覆盖''来覆盖配置。谢谢。 –

相关问题